Projets SCRATCH débutants
Dessin animé
Description du projet
Dans ce projet, nous allons écrire une histoire simple et la présenter sous forme de dessin animé. Les protagonistes seront représentés par des lutins que nous déplacerons à l’écran. Les dialogues se présenteront sous forme de bulles. Le scénario que nous vous proposons raconte l’histoire de Tom, un petit garçon, qui cherche son chat dans la maison mais il ne le trouve pas. Sa maman lui conseille d’aller le chercher dehors. Dans le jardin, Tom retrouve son chat perché dans un arbre, il ne peut plus descendre. Son papa va aller le chercher avec son échelle.
Dans cet exercice, l’élève va pouvoir se familiariser avec la manipulation des lutins et de leurs costumes. Il sera amener à les déplacer à l’écran, changer leurs costume et les faire dialoguer.Il devra aussi manipuler les instructions qui permettent aux lutins de dialoguer entre eux afin de déclencher les différents éléments du scénario au bon moment.
Partie 1 – Préparation de l’application et ajout des ressources
Supprimer le lutin par défaut.
Ajouter les lutins enfant, maman, papa, chat et echelle fournis dans les ressources. Les fichiers contiennent tous les costumes des lutins qui en possèdent plusieurs.
Charger les trois costumes (chambre, dehors et fin) des arrière-plans de la fenêtre scène.
Partie 2 -Programmation
Pour écrire ce programme, nous devons afficher le lutin qui est présent dans la partie du scénario, lui faire afficher ses dialogues, le déplacer s’il y a besoin. Ensuite, nous devrons déclencher l’évènement suivant. Un autre lutin peut apparaître, dialoguer, se déplacer et déclencher un nouvel évènement. Ce cheminement sera répété jusqu’à la fin de l’histoire.
Afficher un lutin, le faire dialoguer, il peut éventuellement se déplacer et ensuite déclencher déclencher l’évènement suivant.
Afficher un lutin, le faire dialoguer, il peut éventuellement se déplacer et ensuite déclencher déclencher l’évènement suivant.
… ainsi de suite jusqu’à la fin du scénario.
Programmation dans Scratch
Pour ce projet, nous n’allons pas expliquer les code Scratch lutin par lutin. En effet, le principe de ce programme est de passer d’un lutin à l’autre en fonction du scénario. Il serait incompréhensible de traiter les lutins un par un, nous allons donc suivre le cours de l’histoire et décrire le code des lutins au fur et à mesure de leurs apparitions. Avant de décrire les actions exécutées par le script, nous écrirons en gras et en italique le nom du lutin auquel il se rapporte.
arrière-plan
L’histoire commence dans la chambre de Tom, nous afficherons donc l’arrière-plan chambre en premier. Nous placerons donc les deux blocs suivants dans la fenêtre script de la scène.
enfant
Le premier personnage à entrer en scène est Tom. Nous allons donc l’afficher à l’écran avant les autres lutins. Nous le plaçons aux coordonnées x=-60 et y=-90, l’orientons vers la droite, choisissons le costume enfant1 et affichons le lutin.
Tous les autres lutins n’entrent pas en scène tout de suite, il ne faut pas qu’il soient visibles. Nous plaçons donc un bloc quand drapeau vert est cliqué suivi d’un bloc cacher au début du script de tous les autres lutins (maman, papa, chat et échelle).
Le personnage est prêt, nous pouvons commencer l’histoire. Nous lui faisons dire “maman, je ne trouve pas le chat !” pendant deux secondes. Ensuite nous utilisons le bloc envoyer à tous message. Cette instruction permet d’envoyer un message à tous les lutins présents dans le programme. Lorsqu’un lutin reçoit ce message, nous pouvons, avec le bloc quand je reçois message, déclencher un script. Attention, ces message ne seront jamais affichés à l’écran, ils ne servent qu’à faire communiquer les lutins entre eux pour qu’ils puissent déclencher des scripts au moment opportun.
Nous envoyons le message “maman”, il est destiné au lutin maman.
Note
Lorsque, dans un script, un lutin envoie un message, il est possible de savoir à qui il est destiné. Il suffit de cliquer sur l’instruction envoyer à tous message avec le bouton de droite de la souris et de sélectionner show receivers dans le menu déroulant. Le ou les lutin(s) qui reçoive(nt) ce message est(sont) entouré(s) en jaune dans la fenêtre qui contient tous les lutins. Nous pouvons aussi savoir qui envoie un message lorsque dans un script nous voyons l’instruction quand je reçois message. Pour cela, nous cliquons avec le bouton droite de la souris sur l’instruction et le lutin qui a envoyé le message est entouré en jaune.
maman
Le message envoyé par le lutin enfant est destiné au lutin maman, nous ajoutons donc un bloc quand je reçois maman dans la fenêtre script du lutin maman. Nous allons coller, à la suite de ce bloc, toutes les instructions qui vont permettre à l’histoire de se dérouler. Dans notre scénario, la maman doit demander à Tom s’il a bien cherché dans toute la maison. Tout d’abord, nous plaçons le lutin aux coordonnées x=240 et y=-80 (sur le bord de droite de l’écran) et nous montrons le lutin. Nous utilisons l’instruction glisser en 1 secondes à x:70 y:-80. Le lutin va se déplacer d’un point à l’autre en une seconde, donnant ainsi l’impression que la maman entre dans la chambre.
Note
Vous n’êtes pas obligé de taper les valeurs des coordonnées x et y des lutins dans les blocs aller à x: y: , glisser en .. secondes à x: y: … Il suffit de placer le lutin à l’endroit où l’on désire le voir dans la fenêtre scène, les coordonnées sont automatiquement affichées dans les instructions qui nécessitent ces coordonnées. Il suffit alors de prendre le bloc considéré et de le placer dans la fenêtre script. Ainsi, même les utilisateurs qui ne maîtrisent pas le système de coordonnées dans Scratch peuvent créer des dessin animés.
Ensuite, nous faisons afficher le dialogue “Tu as bien cherché dans toute la maison ?” pendant trois secondes. Les temps d’affichage des dialogues sont arbitraires pour l’instant, vous pouvez les modifier si les utilisateurs n’ont pas assez de temps pour lire. Ensuite, nous envoyons le message “Maman demande si Tom a bien cherché”. Ce message est destiné au lutin enfant. Les messages envoyés peuvent être plus court. Nous avons choisit des messages longs, qui décrivent bien les situations, afin de bien suivre le cheminement du scénario.
enfant
Lorsqu’il reçoit le message “Maman demande si Tom a bien cherché”, le lutin enfant bascule sur le costume enfant2 et répond “Oui, j’ai cherché partout.”. Le message “Le chat n’est pas dans la maison” est envoyé.
maman
Quand le lutin reçoit le message “Le chat ,n’est pas dans la maison”, elle répond “Alors, c’est qu’il doit être dehors.” et nous le faisons basculer sur le costume2 pour l’orienter vers la droite. Nous faisons glisser le lutin vers la position par laquelle il est entré et nous le cachons. Il envoie en suite le message “Va chercher dehors”. Le lutin maman n’apparaîtra plus dans l’histoire, il restera caché jusqu’à la fin.
enfant
Nous basculons sur le costume enfant1 et Tom répond “D’accord, je vais aller chercher dans le jardin.”. Nous le faisons sortir par le bord de droite de l’écran et le cachons. Ensuite nous envoyons le message “Tom va dehors”. Ce message s’adresse à l’arrière-plan et aux lutins echelle et chat. Nous expliquerons ce qu’il se passe pour ces blocs par la suite, car, pour l’instant, Tom n’a pas fini ses actions.
Ensuite, nous plaçons le lutin enfant devant la porte de la maison (x=-15 et y=-60 Ne pas oublier que les coordonnées s’écrivent automatiquement dans les blocs lorsque nous plaçons le lutin à la position désirée.). Nous l’orientons vers la gauche, le faisons se déplacer puis nous utilisons le bloc penser à .. pendant .. secondes. Ce bloc permet d’afficher un dialogue (comme dire .. pendant .. secondes), la seule différence vient de la forme de la bulle qui évoque quelqu’un qui pense. Nous lui faisons donc penser “Où peut-il bien être ? Je ne le trouve pas.” pendant trois secondes, l’orientons vers la droite et le faisons glisser jusque vers l’arbre. Lorsque Tom se trouve au pied de l’arbre, il va dire “Oh, il est dans l’arbre et il ne peut pas descendre”, puis le lutin envoie le message “Le chat est dans l’arbre”.
Avant d’examiner ce qui se passe lorsque le message “Le chat est dans l’arbre” est reçu, nous devons d’abord nous intéresser au message “Tom va dehors”. Quand le lutin enfant a envoyé ce message, il a continué à effectuer des actions. Par contre, d’autres lutins ont reçu ce message, leurs scripts seront donc effectuer en même temps que celui que nous venons de décrire juste au-dessus.
arrière-plan
Lorsqu’il reçoit le message “Tom va dehors”, nous faisons basculer l’arrière-plan sur le costume dehors qui représente la maison et l’arbre.
chat
Lorsqu’il reçoit le message “Tom va dehors”, nous positionnons le chat dans l’arbre et le faisons apparaître.
echelle
Quand l’arrière-plan représentant l’extérieur de la maison est affiché, nous positionnons l’échelle contre le mur (x=-160 et y=-40) et la faisons apparaître.
Les deux lutins et l’arrière-plan qui ont reçu le message “Tom va dehors” et qui ont exécuter leur script en même temps que le lutin enfant, ont maintenant fini leurs actions. Nous pouvons passer au traitement des actions déclenchées par le message “Le chat est dans l’arbre” envoyé par le lutin enfant à la fin de son dernier script.
papa
Le message “Le chat est dans l’arbre” était destiné au lutin papa. Pour son entrée en scène, nous positionnons le lutin sur la gauche de l’écran (x=-240 et y=-80), l’orientons vers la droite, l’affichons et le faisons glisser vers Tom. Il demande “Qu’est-ce qu’il se passe ici ?” et envoie le message “Que se passe-t’il ?”.
enfant
Lorsque le papa demande ce qu’il se passe, nous orientons le lutin enfant vers la gauche, le basculons sur le costume2 et lui faisons répondre “Le chat est dans l’arbre et il ne peut pas descendre tout seul.”. Nous envoyons le message “Il faut l’échelle” et basculons sur le costume1.
papa
Lorsqu’il reçoit le message “Il faut l’échelle”, nous basculons sur le costume papa2 et affichons le dialogue : “Heureusement, il y a l’échelle, je pense qu’elle est assez grande.”. Nous le faisons se déplacer vers l’échelle en basculant sur le costume papa4 qui donne l’impression que le lutin saisi l’échelle. Nous envoyons le message “Papa amène l’échelle“. Comme précédemment, le lutin papa continue ses actions après avoir envoyé le message. Nous continuons de décrire le code pour ce lutin et verrons les actions effectuées suite à ce message par les autres lutins par la suite.
Nous déplaçons le lutin au pied de l’arbre en deux secondes (x=79 y=-78) et le faisons monter à l’échelle en une seconde (x=113 y=48). Nous basculons sur le costume papa4 et affichons “Viens petit chat, je vais t’aider à descendre.” et envoyons le message “Papa attrape le chat”. Ensuite, nous introduisons un temps d’attente de une seconde. Ce temps d’attente va permettre au lutin chat, qui aura reçu le message “Papa attrape le chat.” de se déplacer jusque dans le bras du papa, comme nous allons le voir tout à l’heure.
Le lutin descend de l’échelle, se tourne vers la gauche, bascule sur le costume papa3 et dit “Tiens Tom, le chat est sauvé, tu vas pouvoir lui faire un câlin pour le réconforter.” et envoie le message “Fin”.
L’histoire est finie, mais il reste à voir les actions qui ont été déclenchées par les messages “Papa amène l’échelle” et “Papa attrape le chat”.
enfant
Quand il reçoit le message “Papa amène l’échelle”, nous déplaçons le lutin enfant vers la gauche (x=-27 y=-95), pour que les deux lutins ne se trouvent pas l’un sur l’autre à la fin du déplacement du lutin papa.
echelle
Le message “Papa amène l’échelle” est envoyé lorsque le lutin papa se déplace du bord gauche de l’écran vers l’arbre avec l’échelle dans les mains. Nous devons donc déplacer le lutin echelle en même temps que le lutin papa. Nous le faisons donc glisser pendant deux secondes vers sa position d’arrivée contre l’arbre. Ici, le temps pour le déplacement n’a pas été choisir de manière arbitraire, il doit obligatoirement être le même que celui que met le lutin papa pour faire le même trajet afin que les deux lutins soient synchronisés. Ainsi, nous avons l’impression que le papa porte l’échelle jusqu’au pied de l’arbre.
Nous avons fini de traiter les actions déclenchées par le message “Papa va chercher l’échelle”, intéressons nous maintenant au message “Papa attrape le chat” envoyé par le lutin papa au lutin chat.
chat
Quand ce lutin reçoit le message “Papa attrape le chat”, nous le déplaçons jusque dans les bras du lutin papa en une seconde. Nous avons vu, précédemment, que nous avons introduit un temps d’attente de une seconde dans le script du lutin papa . Ce délai permet au lutin chat de se diriger vers les bras du papa sauveur. Il faut donc que l’on ait les mêmes temps d’exécution pour ce déplacement et le délai d’attente. Ensuite, nous faisons descendre l’échelle au lutin chat. Il doit aussi mettre le même temps que le lutin papa pour effectuer cette action.
arriere-plan
Lorsque le message “Fin” est reçu, nous basculons sur l’arrière-plan fin.
Pour aller plus loin
Vous pouvez enregistrer les dialogues et faire parler les personnage plutôt que d’afficher des bulles.
Vous pouvez stimuler l’imagination des élèves en leur faisant créer de nouvelles histoires et les dessins qui leur seront associés pour créer de nouveaux dessins animés.
(code source, ressources graphiques et fiche récapitulative)