A2 · Episode 7 · 4:49

Fixing Common Scratch Game Issues

This episode addresses common Scratch game issues: fixing the cat's premature pixelation due to script execution timing, limiting the pixelation and size-increase effects to prevent complete disappearance or excessive growth, and ensuring the mouse appears in front of the cat using 'go to front' and conditional interactions.

Source:Montagne Vincent / tube-numerique-educatif.apps.education.fr · License:CC BY 4.0

Transcript

  1. Mais d'abord, pourquoi est- ce que maintenant si je reclique sur le drapeau vert,

    But first, why, when I click the green flag again now,

  2. le chat va réapparaître déjà pixelisé?

    does the cat already appear pixelated?

  3. Parce que quand je clique sur le drapeau vert,

    Because when I click the green flag,

  4. le script va être lu très très rapidement, ce que je vous ai dit.

    the script runs extremely quickly—as I told you earlier.

  5. Et en fait, la souris n'aura pas eu le temps de retourner à sa position initiale,

    In fact, the mouse won’t have time to return to its starting position,

  6. parce qu'en fait, le script du chat va être lu un petit peu avant le script de la

    since the cat’s script,

  7. souris, un petit peu avant qu'elle retourne à sa position initiale.

    runs just a little earlier than the mouse’s script—before the mouse returns to its starting position.

  8. Donc en fait, le script a eu le temps de s'exécuter entièrement avant que la souris

    So in fact, the entire script finishes running,

  9. retourne à sa position initiale.

    only after the mouse has returned to its starting position.

  10. Je recommence, regardez, le chat là, il est déjà pixelisé.

    Let me try again—look, this cat is already pixelated.

  11. Donc si je recommence, pareil.

    So if I try again, it’s the same result.

  12. Par contre, si je déplace le chat

    However, if I move the cat first,

  13. et que je recommence, là il apparaît bien parce que la position dans laquelle on a

    and then restart, it appears correctly—because the position where the game ended last time,

  14. terminé le jeu précédemment n'était pas cette position,

    was not this position,

  15. donc la souris n'était pas sur lui.

    so the mouse wasn’t on it then.

  16. Donc ce qu'on va faire ici, c'est qu'on va rajouter un petit temps d'attente.

    So here, we’ll add a short wait.

  17. Alors je vais laisser une seconde, mais c'est pas la peine d'en laisser autant,

    I’ll set it to one second—but that’s more than enough,

  18. un dixième ou un centième de seconde suffirait.

    a tenth or even a hundredth of a second would be sufficient.

  19. Et là, si je regarde ce qui se passe, quand je reclique sur le drapeau vert,

    Now watch: when I click the green flag again,

  20. ah bah le chat est dans un état normal.

    ah—the cat appears in its normal state!

  21. Donc ici, on a un petit effet de temps

    So here, there’s a tiny timing difference:

  22. entre la lecture des scripts, le script du chat est lu très légèrement avant celui

    the scripts run in sequence—the cat’s script,

  23. de la souris, et donc je dois laisser un petit temps d'attente avant d'exécuter ça.

    runs slightly before the mouse’s script—so I need to insert a brief pause before executing it.

  24. Alors maintenant, on va résoudre le deuxième problème,

    Now, let’s tackle the second problem:

  25. qui est que la pixellisation se fait beaucoup trop,

    the pixelation effect is too strong—

  26. le chat a disparu complètement. Donc ici, sur l'effet graphique,

    the cat disappears completely. So for this visual effect,

  27. ce qu'on va faire, c'est qu'on va pas le répéter indéfiniment tant que c'est touché,

    instead of repeating endlessly while touching,

  28. on va rajouter un répéter dix fois, par exemple.

    we’ll change it to repeat ten times, for example.

  29. ça va bien fonctionner.

    This will work well.

  30. Et puis on va arrêter le script une fois que ça aura été fait dix fois.

    Then we’ll stop the script once it’s been run ten times.

  31. On va voir ce que ça va faire.

    Let’s see what happens.

  32. Donc j'ai pris ce bloc qui s'appelle" stop tout" par départ.

    So I’ve taken this block called “Stop All”, placed at the start.

  33. Alors" stop tout", on arrête tous les scripts,

    “Stop All” stops all scripts;

  34. moi je veux arrêter juste ce script. Donc je le mets après avoir répété dix fois

    but I only want to stop this one script, so I’ll place it after the “repeat 10 times” block;

  35. ajouter 50, alors 50 ça va être un petit peu beaucoup, je vais mettre 20,

    after “add 50”—but 50 might be too much, so I’ll change it to 20;

  36. à l'effet pixelisé, je vais stopper ce script, voyons ce qui se passe.

    then apply the “pixelate” effect, and stop this script—let’s see what happens.

  37. Donc ici, voilà, alors le chat, on le voit plus du tout,

    Here it is: the cat has completely disappeared,

  38. il reste plus qu'un carré, alors peut- être que 20 c'est trop,

    leaving only a square. Maybe 20 is still too high;

  39. après chacun fait comme il le souhaite à son goût,

    everyone can adjust it as they like;

  40. donc je vais voir ici ce que ça donne.

    so let’s check how it looks now.

  41. Donc voilà, on va laisser comme ça pour le moment.

    That’s it—we’ll leave it like this for now.

  42. Alors, autre chose que j'aimerais modifier rapidement,

    Also, I’d like to quickly change something:

  43. j'aimerais que la souris qui a mangé le chat se retrouve sur le chat et non pas

    I want the mouse that ate the cat to appear on top of the cat, not

  44. dessous. Donc je vais aller maintenant dans le script de la souris,

    underneath it. So now I’ll go into the mouse’s script;

  45. et la première chose que je vais faire,

    the first thing I’ll do is

  46. c'est que je vais dans son initialisation, je vais la mettre au premier plan.

    go to its initialization and bring it to the front.

  47. Donc j'ici dans le menu Apparence,

    Here, in the “Looks” menu,

  48. j'ai un bloc" aller au premier plan" que je vais rajouter dans l'initialisation ici,

    I have a “go to front” block—I’ll add it to the initialization here;

  49. et on va voir ce qui se passe maintenant si ça a changé quelque chose.

    and let’s see if this changes anything.

  50. Voilà, la souris est restée sur le chat.

    There we go—the mouse stays on top of the cat.

  51. Alors on va faire exactement pareil pour la souris,

    Next, we’ll do exactly the same for the mouse:

  52. on va rajouter une condition" si alors", on va prendre le capteur

    add an “if-then” condition,

  53. qui teste les contacts, on va voir cette fois- ci la souris a touché le chat,

    use the “touching” sensor to check whether the mouse touches the cat;

  54. et on va mettre ça dans la boucle" répéter indéfiniment" qu'on a déjà créée pour

    and place this inside the “forever” loop we’ve already created

  55. créer les mouvements du chat.

    to control the cat’s movement.

  56. Donc si le chat est touché, alors on va modifier la taille de la souris.

    So if the cat is touched, we’ll change the mouse’s size.

  57. Alors on peut rajouter un effet graphique,

    We can add a visual effect,

  58. mais moi je vais ajouter 10 à la taille de la souris.

    but I’ll add 10 to the mouse’s size.

  59. Et là, vous voyez, ce qui se passe, c'est que la souris,

    And here, you can see that the mouse keeps growing,

  60. elle grossit tant que c'est possible.

    as much as possible.

  61. Alors on va faire pareil, on va limiter le nombre de fois où cela est exécuté.

    So we’ll do the same—we’ll limit how many times this runs.

  62. Donc on va répéter par exemple 10 fois ajouter 10 à la taille.

    For example, repeat ‘add 10 to size’ ten times.

  63. Mais qu'est- ce qui se passe ici?

    But what happens here?

  64. Ça va se répéter 10 fois, mais indéfiniment.

    It repeats ten times—but indefinitely.

  65. Donc ce que nous allons faire,

    So what we’ll do is this:

  66. c'est que nous allons stopper ce script une fois que ça aura été fait 10 fois.

    stop this script once it’s been run ten times.

  67. Donc ici, le bloc stop, je vais bloquer, je vais stopper, pardon,

    With this ‘stop’ block, I’ll block—sorry, stop—

  68. juste ce script.

    just this script.

  69. Donc après avoir répété dix fois ajouter dix à la taille, je stoppe ce script,

    So after repeating ‘add 10 to size’ ten times, I stop this script,

  70. et là normalement j'ai quelque chose qui fonctionne à peu près comme je voudrais.

    and then it should work roughly as I want.

  71. Voilà, donc ici, j'ai rajouté une interaction entre le chat et la souris,

    There we go—I’ve added interaction between the cat and the mouse,

  72. et des effets graphiques.

    and visual effects.

  73. Donc essayez les différents effets graphiques, vous verrez,

    Try out different visual effects—you’ll find that

  74. certains vous plairont plus que d'autres,

    some appeal to you more than others;

  75. en modifiant le nombre de fois que vous le répétez,

    by changing how many times you repeat it,

  76. ou en modifiant la quantité que vous ajoutez à l'effet graphique.

    or by adjusting the amount you add to the effect.

  77. Voilà, en tout cas ces scripts fonctionnent et sont complètement opérationnels.

    Anyway, these scripts all work and are fully functional.

  78. Cet épisode est terminé, ne ratez pas le prochain épisode dans lequel nous verrons

    That’s it for this episode—don’t miss the next one, where we’ll learn

  79. comment ajouter de l'interaction entre le lutin et le décor dans lequel il évolue.

    how to add interaction between the sprite and its background scene.

  80. À bientôt.

    See you soon!