Dans le tutoriel précédent, vous avez continué à travailler sur un projet visant à obliger un crabe à chasser un chat autour de l'écran, en ajoutant une limite de temps et en marquant le score..
Dans cette partie, nous allons continuer à travailler sur ce projet. Nous allons ajouter un événement broadcast et l'utiliser pour déclencher des scripts pour d'autres sprites. Ensuite, nous cacherons la plupart des sprites lorsque le jeu sera terminé et afficherons le score final..
Pour compléter ce tutoriel, vous aurez besoin de:
Nous allons travailler avec le projet créé dans la partie précédente de cette série. Nous utiliserons les ressources et les scripts que nous avons créés jusqu'à présent et en ajouterons d'autres..
Selon que vous avez ou non travaillé avec ce didacticiel, il existe deux manières de démarrer avec ce didacticiel:
Sinon, vous pouvez simplement continuer à travailler dans le même projet que vous avez déjà créé. Voici comment vous faites chacune de ces tâches (vous n’en aurez besoin que d’une seule).
Ouvrez Scratch et accédez au projet que vous souhaitez dupliquer. Assurez-vous que vous avez cliqué sur le Voir à l'intérieur bouton pour que vous puissiez voir le fonctionnement du projet.
Dans la barre d'outils, cliquez sur Fichier> Enregistrer en tant que copie:
Scratch ouvrira votre nouvelle copie. Renommez-le et commencez à y travailler.
Connectez-vous à Scratch et accédez à la page de mon projet sur les données et les variables..
Clique le Voir à l'intérieur bouton pour voir le projet:
Maintenant, cliquez sur le Remix bouton. Scratch enregistrera un duplicata de mon projet en tant que nouveau projet dans votre compte. Renommez-le et vous êtes prêt à partir!
Dans cette partie de la série, vous allez ajouter un diffuser
message à votre projet pour communiquer en interne au sein de votre projet. Vous pouvez créer une diffusion dans un script lorsque ce script atteint un certain point ou si une condition relative à une image-objet est remplie, puis faire en sorte que l'une des autres images-objets (ou l'étape) réagisse à la diffusion de ce message. Cela lie vos sprites et vous donne plus de marge pour ajouter des interactions utilisateur.
Vous vous souviendrez que plus tôt nous avions ajouté un sprite avec un texte dedans (disant 'Ouch !!') que nous avions dessiné en tant que costume pour ce sprite. Pour le moment, cet esprit est assis immobile sur la scène et ne fait rien. Maintenant, nous allons utiliser une émission pour la faire faire quelque chose.
Mais d'abord, créons la diffusion.
Cliquez sur le sprite du chat et éditez le script que vous avez déjà créé pour cela.
Ouvrez le Événements blocs et faites glisser le message diffusé1
bloquer dans le script, immédiatement en dessous du changer Score par 1
bloc. Cliquez sur la liste déroulante pour message1 et cliquez sur nouveau message… . Tapez du texte que vous pouvez utiliser pour définir votre diffusion. Ce texte ne sera pas vu par l'utilisateur, mais vous l'utiliserez ailleurs dans votre projet. Il est donc logique de l'appeler quelque chose de significatif. J'appelle le mien pris.
Voici à quoi ressemble le script du chat:
Maintenant, nous pouvons utiliser cette diffusion pour déclencher des scripts pour d'autres sprites.
Jusqu'à présent, nous avons commencé tous nos scripts avec le quand le drapeau vert a cliqué
block, ce qui signifie que le script est automatiquement exécuté au démarrage du projet. Parfois, vous ne voulez pas que cela se produise: vous voulez qu'un script soit déclenché après le démarrage du projet. Il existe plusieurs façons de procéder: vous pouvez déclencher un script lorsque vous appuyez sur une image-objet ou sur une touche, ou lorsqu'une variable, telle que le volume, change. La méthode que nous allons utiliser ici démarre un script lorsque l'image-objet reçoit un message de diffusion..
Cliquez sur l'image-objet que vous avez créée précédemment (Sprite2). Commencez par lui donner un meilleur nom (en cliquant sur le bouton je icône en haut à gauche et modification du nom) -J'appelle le mien Aie.
Nous voulons que ce sprite soit invisible la plupart du temps et n'apparaisse que lorsque le crabe attrape le chat. Nous allons donc créer deux scripts: le premier pour cacher le sprite et le second pour le faire apparaître.
Créez ce script pour le sprite:
quand le drapeau vert a cliqué
cacher
Vous trouverez le cacher
bloquer dans le Regards des blocs. Cela cache le sprite: maintenant, quand vous démarrez le projet, il disparaîtra.
Maintenant, créez un second script pour le sprite Ouch:
quand je reçois attrapé
aller au chat
spectacle
attendez 0.5 secondes
cacher
Vous trouverez le premier sprite dans le Événements des blocs, les aller à
bloquer dans le Mouvement des blocs, les attendre
bloquer dans le Contrôle section et la spectacle
et cacher
bloque Regards.
Au fur et à mesure que vos projets deviennent plus longs et complexes, vous souhaiterez peut-être donner à l'utilisateur le sentiment de progresser dans un jeu ou une animation en modifiant l'arrière-plan. Ici, nous ferons cela lorsque le temps imparti et le jeu seront terminés.
Pour ce faire, nous devons:
Nous allons utiliser le diffuser
un événement des blocs et aussi le quand toile de fond passe à
bloc d'événement. Commençons par créer cette émission.
Sélectionnez le Étape et ajouter un diffuser
bloquer jusqu'à la fin de son script, en remplaçant le arrête tout
bloc. J'appelle cette émission jeu terminé.
Créez maintenant un arrière-plan supplémentaire pour la scène de la même manière que vous avez créé des arrière-plans plus tôt dans cette série. Sélectionnez le Étape, clique sur le Les décors onglet et importer, dessiner ou sélectionner un fond de la bibliothèque. Je sélectionne le Cercles toile de fond de la bibliothèque.
Le nouveau fond va maintenant apparaître et votre original disparaîtra - pas de panique! Nous ferons en sorte que l'original apparaisse au lancement du projet et que le nouveau apparaisse à la fin du jeu..
À présent, vous pouvez probablement déterminer comment obtenir le premier fond à apparaître lors du lancement du projet. Il suffit de faire glisser le passer de toile de fond à
bloc de la Regards blocs au script pour la scène, juste en dessous du quand le drapeau vert a cliqué
bloquer et au-dessus de la mettre Score à 0
bloc. Dans la liste déroulante de ce bloc, sélectionnez Malibu Beach.
Maintenant, lorsque vous exécutez le projet, le fond reviendra à celui que vous connaissez bien:
Pour changer de fond à la fin du jeu, créez un nouveau script pour la scène:
quand je reçois attrapé
passer de la toile de fond aux cercles
Votre scène aura maintenant deux scripts:
Maintenant, lorsque vous exécutez votre projet, le fond changera à la fin du jeu, mais le jeu ne se terminera pas réellement. Corrigeons ça.
Lorsque le jeu se termine, nous voulons que les images-objets crabe, étoile de mer et aïe disparaissent. Nous devons donc créer un script identique pour chacun de ces sites, qui sera déclenché par la diffusion. La bonne nouvelle est que vous pouvez créer le script une fois, puis le copier sur chacun des sprites..
Commencez avec le sprite de crabe. Créez ce script pour cela:
quand je reçois game over
cacher
Maintenant, copiez ce script dans chacun des sprites d’Ouch et d’Etoile de mer en le faisant glisser Les scripts volet de l’image-objet crabe sur chacune des images-objets situées sous la scène principale.
Désormais, lorsque vous jouez au jeu, vos images-objets disparaissent à la fin du jeu, mais ne réapparaissent pas lorsque vous jouez à nouveau. Donc, vous devez les faire apparaître lorsque le projet commence.
Pour chacun des sprites de crabe et d’étoile de mer, ajoutez un spectacle
bloquer le script qui commence par quand le drapeau vert a cliqué
, juste au début. Ne faites pas cela pour le sprite ouch car cela n'apparaît que lorsque le crabe et le chat se touchent. Le sprite de crabe par exemple va maintenant ressembler à ceci:
Maintenant, lorsque vous jouez au jeu, les images-objets apparaissent au début et disparaissent à la fin. La seule chose qui ne fonctionne pas maintenant est le sprite de chat, qui bouge toujours. Nous ne voulons pas que cela se produise, nous allons donc éditer le script existant pour le chat.
Le chat a actuellement un pour toujours
bloc qui contrôle son mouvement et le score. Remplacer que pour toujours
bloquer avec un Répète jusqu'à
bloquer, en s'assurant que tous les mêmes blocs sont toujours à l'intérieur du Répète jusqu'à
bloc qui était à l'intérieur du pour toujours
bloc. Vous trouverez peut-être plus facile de faire glisser le pour toujours
bloquer le script sur le Les scripts volet, faites glisser le Répète jusqu'à
bloquer en position, puis faites glisser les blocs de l'intérieur du pour toujours
bloquer à l'intérieur du Répète jusqu'à
bloc. Puis supprimez le pour toujours
bloc.
Dans l'espace dans le Répète jusqu'à
bloquer, on ne peut pas utiliser un quand je reçois
bloquer, car ils sont conçus pour démarrer les scripts. Au lieu de cela, nous allons utiliser un opérateur. Faites glisser le =
bloquer dans cet espace, faites glisser le Minuteur
variable au premier espace, et tapez 0 dans le deuxième espace de sorte que le bloc se lit répéter jusqu'à minuteur = 0
.
Maintenant lancez le jeu et quand le temps s’arrêtera, le chat sera toujours visible mais restera immobile.
Laissons le chat dire à l'utilisateur son score. Créez un nouveau script pour le sprite chat comme suit:
quand la toile de fond passe aux cercles
dire rejoindre vous avez marqué
Créer ce deuxième bloc est un peu compliqué. Vous devrez faire glisser le dis bonjour!
bloquer au script, puis faites glisser le joindre
bloquer de Les opérateurs à l'espace où il est dit Bonjour! Puis tapez 'Vous avez marqué' dans le premier espace du bloc de jointure et faites glisser le curseur But
variable au deuxième espace. Assurez-vous d'ajouter un espace à la fin de votre texte. Le script ressemblera à ceci:
Maintenant, lorsque vous lancez le jeu, le chat apparaîtra à la fin et vous indiquera votre score..
L'ajout d'événements à vos projets vous permet de faire avancer les choses au fur et à mesure de l'avancement du projet, en réponse aux entrées de l'utilisateur, aux scripts atteignant un certain point ou à la valeur d'une variable changée. Dans ce didacticiel, vous avez appris à utiliser des événements pour changer de fond lorsque le compte à rebours est à zéro et afficher le score de l'utilisateur..
Si vous avez envie d'un défi, pourquoi ne pas ajouter à l'image-objet créée des opérateurs qui indiquent à l'utilisateur leur score. Peut-être que vous pourriez utiliser un si
bloquer pour détecter la valeur de la But
précieux et que le chat dise «Bien joué! si l'utilisateur marque plus qu'un certain montant, ou "Meilleure chance la prochaine fois!" s'ils ont un score faible.
Dans la suite de cette série, nous allons passer à la création d’effets animés à l’aide de fonds. Nous utiliserons les fonds de doublons que nous avons créés dès le début de la série pour créer un effet de zoom avant..