A2 · 第8集 · 4:56

小老鼠吃松饼游戏

本集讲解如何用Scratch实现小老鼠触碰松饼时松饼消失并播放音效,同时随机刷新松饼位置。

来源:ericgrisperez / tube-numerique-educatif.apps.education.fr · 许可:CC BY 4.0

字幕

  1. Bonjour, dans cette vidéo, nous allons continuer de travailler sur notre jeu de chat

    大家好,本期视频中,我们将继续完善我们的猫鼠游戏。

  2. et de souris. Pour rendre le jeu plus intéressant,

    为了让游戏更有趣,

  3. j'ai ajouté des éléments que la souris doit récupérer tout en ne se faisant pas

    我添加了一些元素:老鼠需要收集它们,

  4. attraper par le chat.

    同时还要避免被猫抓住。

  5. Donc je lance mon jeu et je vais voir qu'au bout d'un temps,

    现在我启动游戏,过一会儿就会看到,

  6. je vais avoir un petit muffin à aller récupérer.

    屏幕上会出现一个需要去收集的小松饼。

  7. Donc quand la souris se déplace, elle peut manger le muffin,

    当老鼠移动时,它可以吃掉松饼,

  8. elle récupère.

    从而获得分数。

  9. Je dois me dépêcher de faire le tour sans que le chat m'attrape.

    我得赶紧绕一圈,千万别被猫抓住!

  10. Si le chat m'attrape, évidemment.

    如果猫抓住了我,当然——

  11. La partie s'arrête.

    游戏就结束了。

  12. Nous allons voir comment faire en sorte qu'au contact, le muffin disparaisse.

    接下来,我们来看看如何实现:一旦接触,松饼就立刻消失。

  13. Nous voici dans la partie code du lutin Muffin.

    我们现在进入了‘松饼’角色的代码区。

  14. Donc ici, ton travail sera double.

    你的任务有两个部分。

  15. Avec les blocs que tu as au dessus,

    利用上方这些积木,

  16. cela va te permettre de gérer l'emplacement du muffin.

    你可以控制松饼的位置。

  17. Tu as remarqué tout à l'heure, à chaque fois que la souris mangeait un muffin,

    刚才你可能注意到了,每次老鼠吃掉一个松饼,

  18. un autre réapparaissait

    另一个松饼就会重新出现,

  19. ailleurs sur l'écran.

    但位置会随机出现在屏幕其他地方。

  20. Donc c'est ici où ce bloc position aléatoire va te servir.

    所以这里就要用到‘随机位置’这个积木。

  21. La position aléatoire, c'est en fait l'ordinateur qui choisit un point X et un point

    所谓‘随机位置’,就是电脑在Scratch坐标系内,

  22. Y tout à fait au hasard sur l'ensemble du repère que l'on a ici dans Scratch.

    完全随机地选择一个X坐标和一个Y坐标。

  23. Donc tu devras avancer ces premiers blocs pour gérer l'emplacement du muffin à

    因此,你需要把这几个初始积木往前拖动,

  24. chaque fois que la souris l'attrape.

    以便每次老鼠碰到松饼时,都更新它的位置。

  25. Deuxième travail, ce sera de générer un son à chaque fois que la souris attrape un

    第二项任务是:每当老鼠吃到松饼,就播放一个音效。

  26. muffin. Donc à chaque fois que la souris est en contact avec le muffin,

    也就是说,只要老鼠与松饼发生接触,

  27. un son doit se déclencher.

    音效就必须立即触发。

  28. Le muffin a déjà une taille de cinquante et une position de départ que tu retrouves

    松饼的尺寸已是51,起始位置如你所见

  29. ici. Donc deux programmes à faire.

    因此需要编写两个程序。

  30. Tu peux mettre pause sur la vidéo pour tenter de résoudre ce défi.

    你可以暂停视频,尝试自己解决这个挑战。

  31. Voyons le corriger ensemble.

    我们一起来纠正它。

  32. Donc nous allons commencer par la partie haute sur la position du muffin.

    我们先从松饼的位置开始处理上半部分。

  33. Donc bien évidemment, je commence par un drapeau vert en tant qu'événement

    显然,我首先用绿色旗帜作为事件触发器,

  34. déclencheur du programme.

    启动整个程序。

  35. Puis ensuite, je me souviens un petit peu comment réagissait le jeu,

    接着,我回想了一下游戏原本的运行方式:

  36. le muffin n'était pas visible à l'écran au moment de lancer mon jeu.

    游戏刚启动时,松饼在屏幕上是不可见的。

  37. Je peux déjà dire qu'au moment de lancer le jeu, le muffin est donc caché.

    所以游戏启动时,松饼一定是隐藏的。

  38. Une fois que le muffin est caché,

    松饼被隐藏后,

  39. on avait un petit temps avant que le premier muffin apparaisse,

    还要等一小段时间,第一个松饼才会出现,

  40. donc on va attendre trois secondes.

    所以我们等待三秒钟。

  41. Donc le muffin est caché, on attend trois secondes,

    松饼处于隐藏状态,我们等待三秒,

  42. on va donc ensuite lui demander de se montrer.

    然后让它显示出来。

  43. Donc le muffin apparaît à l'écran.

    松饼便出现在屏幕上了。

  44. Puis nous allons demander à l'ordinateur de systématiquement placer

    接下来,我们要让计算机自动把松饼

  45. le muffin à un endroit aléatoire.

    放在一个随机位置。

  46. Donc si je prends la boucle infinie et une position aléatoire,

    如果我使用无限循环和随机位置指令,

  47. je peux lancer le jeu, voir ce que ça donne.

    就可以运行游戏,看看效果如何。

  48. Donc ici on attend les trois secondes.

    这里,我们正在等待三秒钟。

  49. Et là, on voit que la

    而这时,你看到

  50. souris est partout sur l'écran et n'arrête pas de bouger.

    鼠标在整个屏幕上到处移动,永不停止。

  51. Ici, parce qu'il est obligé de remettre à chaque fois le muffin quelque part.

    这是因为程序每次都要把松饼重新放到某个位置。

  52. Donc ici, on va demander au lutin muffin d'attendre que la souris vienne l'attraper.

    所以这里,我们要让松饼角色等待鼠标来点击它。

  53. C'est- à- dire qu'il conservera cette

    也就是说,它将保持这个

  54. position tant que la souris ne l'aura pas attrapé.

    位置,直到鼠标抓住它为止。

  55. Donc ici, on va dire qu'on va placer le muffin à un endroit au hasard sur l'écran,

    因此这里,我们设定:将松饼随机放在屏幕上的某个位置,

  56. puis l'ordinateur va devoir attendre

    然后电脑需要等待,

  57. que la souris vienne le manger.

    直到鼠标过来把它吃掉。

  58. Je relance mon jeu.

    我重新启动游戏。

  59. je vois le buffle apparaître

    我看到水牛出现了,

  60. elle est effectivement et restera

    它确实会停留不动,

  61. si je me déplace avec ma souris pour l'attraper

    如果我用鼠标移动去抓它的话。

  62. Le muffin va bien se positionner ailleurs.

    松饼就会移到另一个位置。

  63. Donc là, hop, je l'attrape, il va encore ailleurs, etc.

    所以,看,我一抓住它,它又跳到别处去了,如此反复。

  64. Donc là, le muffin nous attend.

    现在,松饼正等着我们呢。

  65. Pour changer de position.

    为了改变位置。

  66. Passons maintenant à la partie son.

    接下来,我们进入声音部分。

  67. Donc je souhaiterais qu'à chaque fois que la souris attrape un muffin,

    我希望每次鼠标抓住一个松饼时,

  68. il y a un bruit significatif pour m'indiquer que j'ai bien réussi.

    都能发出一个明显的音效,提示我成功了。

  69. Donc ici, de même manière, je commence par un drapeau événement pour déclencher mon

    这里同样先用一个事件旗作为程序的触发器。接着,我思考一下:

  70. programme. Et là ensuite, si je réfléchis,

    接下来该怎么做呢?

  71. ça va être si la souris touche le muffin,

    应该是:当鼠标碰到松饼时,

  72. donc si muffin est touché par souris,

    也就是‘松饼被鼠标碰到’这个条件成立时,

  73. alors je dois jouer le son chomp jusqu'au bout.

    就播放‘咔嚓’音效,且播完为止。

  74. Ici on sait bien que cette surveillance doit être faite tout le temps,

    我们知道,这种检测必须持续进行,

  75. donc je n'oublie pas d'intégrer ma condition dans cette boucle et de rattacher mon

    所以我别忘了把判断条件放进这个循环里,

  76. bloc d'événements.

    并连接好事件模块。

  77. Je lance mon jeu.

    我启动游戏。

  78. le muffin est là, je l'attrape,

    松饼在那里,我抓住它,

  79. et j'ai bien le son qui se déclenche quand je l'attrape.

    并且抓到时确实响起了音效。

  80. Donc là nous avons réussi.

    所以,我们成功了。

  81. Donc voilà déjà une première progression dans notre jeu.

    瞧,游戏里已经实现了第一个进展。