Source: Scratch Wiki en français
Salut à tous ! Dans ce tuto, je vais vous expliquer comment afficher un score avec un sprite.
Pour bien se mettre dans le contexte
Dans énormément de types de jeux vidéos, vous avez un score qui est affiché pour faire voir votre progression, ce que vous avez gagné, etc. Sur Scratch, ce sont les variables qui vont nous permettre de stocker et d'afficher ce fameux score. Mais avec Scratch, l'affichage d'une variable est une zone orange qui contient la valeur. Même avec le mode grande lecture de la variable, il se peut que l'esthétisme de votre jeu y perde. Et bien, je vais vous aider à afficher vos scores avec une autre façon qu'en utilisant cette zone !
Préparation
- 1ère étape : ajouter un sprite avec des costumes pour tous les chiffres dont vous avez besoin (en général dix chiffres de 0 à 9). Vous pouvez les dessiner vous-même ou, si vous trouvez cela trop long, les importer depuis votre ordinateur ou la bibliothèque Scratch.
- 2ème étape : prendre l'extension stylo. Pour cela :
- allez dans l'onglet code
- cliquez sur le bouton «ajouter une extension» en bas à gauche de l'écran, sous la colonne des catégories de bloc
- cliquez sur Stylo,
- voilà ! Vous avez l'extension stylo !
- 3ème étape : créer une variable nommée «i» et un bloc personnalisé
définir écrire (texte) (x départ) (y départ)
et cocher Exécuter sans rafraichissement d'écran.
Codage
Mettez déjà le début
quand le drapeau vert pressé cacher // pour cacher le sprite principal répéter indéfiniment // le script va perpétuellement réécrire le score, ainsi l'affichage sera mis à jour en temps réel effacer tout écrire (score) (-220) (140) ::custom // mettez les valeurs que vous voulez, c'est l'endroit de l'écran où sera affiché votre score
Et maintenant, il faut définir le bloc :
définir écrire (texte) (x départ) (y départ) mettre [i v] à [0] aller à x: (x départ) y: (y départ) répéter (longueur de (texte)) fois // si votre score contient plusieurs chiffres, le script va les prendre un par un stylo en position d'écriture ajouter (1) à [i v] ::variables basculer sur le costume ((lettre (i :: variables) de (texte)) + (1)) // si vous avez mis un 0 en 1er costume, mettez +1, sinon arrêtez-vous après «texte». Le costume du sprite bascule sur le chiffre correspondant du score. estampiller // le bloc estampiller va «écrire» le costume actuel du sprite sur l'arrière-plan de la scène relever le stylo ajouter (50) à x // à vous de définir l'écart entre les chiffres de votre score end
Et voilà ! Vous savez maintenant afficher un score avec un sprite !
mettre la couleur du stylo à (couleur de l'arrière plan)
au début de la définition du bloc "écrire"