A2 · 第4集 · 5:05
猴子键盘移动
本集学习用上下左右键控制猴子在屏幕上的移动,理解X/Y坐标轴与方向的关系。
来源:ericgrisperez / tube-numerique-educatif.apps.education.fr · 许可:CC BY 4.0
字幕
Voyons maintenant comment déplacer le singe sur l'écran.
现在我们来看看如何在屏幕上移动猴子。
Je vais donc ici te proposer un défi avec des blocs que j'ai préparés,
接下来,我将为你提供一个挑战,
à toi de les remettre dans le bon ordre.
用我已经准备好的积木,你需要把它们按正确顺序排列。
Tu peux mettre pause sur la vidéo et ensuite remettre lecture une fois que tu as
你可以暂停视频,
terminé ton programme pour vérifier la correction.
等编写完程序后再继续播放,检查答案是否正确。
Je te propose donc les blocs suivants quand la touche espace est pressée,
我提供的积木如下:当按下空格键时,
donc ici en quatre fois,
也就是共四次,
ajouter dix à x présent deux fois et ajouter dix à y présent deux fois.
两次将x坐标加10,两次将y坐标加10。
Tu peux ici venir changer les valeurs en appuyant sur les menus déroulants pour voir
你可以点击下拉菜单来修改数值,
apparaître l'ensemble des touches de ton clavier,
从而看到键盘上所有按键的选项,
et tu peux venir saisir dans les champs en blanc ici des valeurs.
也可以在这些白色输入框中直接输入数值。
Il suffit simplement d'appuyer dessus et de saisir
只需点击它,
un nouveau nombre.
然后输入一个新数字。
Ton défi consistera à ce que le singe puisse se déplacer en haut,
你的挑战任务是:让猴子能用键盘方向键
en bas, à droite et à gauche en utilisant les flèches de ton clavier.
向上、向下、向右和向左移动。
À toi de jouer!
现在轮到你啦!
Voyons maintenant la correction.
现在我们来看一下参考答案。
Pour commencer, ici tu peux voir que le bloc d'événement qui commencera le programme
首先,你在这里可以看到,启动程序的事件积木
est en fait une touche qui doit être pressée.
实际上是一个需要被按下的按键。
Donc c'est le fait d'appuyer sur la touche qui déclenchera l'instruction à suivre,
也就是说,按下这个按键会触发后续指令,
ce qui déclenchera la réaction de ton lutin.
从而让角色做出相应反应。
Donc ici, le défi que je t'ai lancé consistait à déplacer le singe en haut,
我给你的挑战任务是:用键盘方向键
en bas, à gauche, à droite en utilisant les flèches du clavier.
向上、向下、向左和向右移动。
Donc ici, les touches qui vont m'intéresser seront les touches haut,
因此,我关注的按键是键盘上的上、下、左、右方向键。
bas, gauche et droite de mon clavier.
也就是上、下、左、右方向键。
Je vais simplement aller les chercher, donc flèche haut, flèche bas,
我只需去获取它们,因此是上箭头、下箭头,
la flèche gauche et enfin la flèche droite.
左箭头,最后是右箭头。
À chaque fois qu'une touche sera appuyée,
每次按下某个键时,
le singe devra réagir en répondant à une instruction.
猴子都需要根据指令做出反应。
Instruction que j'ai ici avec les blocs de mouvement bleus, ajouter.
这些指令就在这里,用蓝色的移动模块表示,即‘添加’操作。
Ajouter, nous retrouvons bien ici notre verbe d'action qui correspond bien à une
‘添加’——我们确实看到,这里这个动作动词
instruction. Donc la première chose que je veux faire,
恰好对应一条指令。因此,我想做的第一件事是:
c'est que le singe se dirige vers le haut.
让猴子向上移动。
Donc pour aller vers le haut, il faut que je me pose la question sur quel axe le
那么,要向上移动,我需要先思考:
singe doit travailler.
猴子该在哪个轴上运动?
Est- ce qu'il doit travailler sur l'axe X, ici, l'axe des abscisses,
它该在X轴(即横轴)上运动,
ou sur l'axe des ordonnées, qui est vertical?
还是在纵轴(即Y轴)上运动?
La bonne réponse est effectivement l'axe des ordonnées Y, ici en
正确答案确实是纵轴Y,
bleu, pour travailler de haut en bas.
图中用蓝色标出,用于控制上下运动。
Donc le premier bloc qui va m'intéresser pour aller vers le haut,
因此,要让猴子向上移动,第一个需要用到的模块是:
il me faudra un de ces deux blocs.
这两个模块中的任意一个。
Ici, ils sont identiques.
它们在此处完全相同。
Mon singe doit se diriger vers le haut, donc je dois ajouter une valeur positive.
我的猴子需向上移动,所以我应添加一个正值。
On se souvient que la partie en haut de l'écran, dans ces deux cases ici,
我们记得,屏幕上方区域(即这两个方框内),
correspond à une ordonnée positive.
对应的是正值纵坐标。
Donc ici, quand la touche flèche haut est pressée, je vais ajouter 10 à y.
因此,当按下上箭头键时,我就给y加10。
Je peux tester mon programme immédiatement, j'appuie sur la touche haut.
我可以立刻测试程序:我按下上方向键。
Et ici, je vois bien effectivement que mon singe se déplace lorsque j'appuie sur mon
看,我清楚地看到,当我按键盘时,
clavier. Ensuite, je voudrais faire redescendre mon singe,
猴子确实移动了。接下来,我想让它向下返回,
je vais donc m'intéresser à la flèche bas.
所以我将关注下箭头键。
Ici, je vais ajouter également quelque chose à y, mais cette fois- ci,
这里,我也会给 y 添加一些东西,但这一次,
ce sera une valeur négative.
将是一个负值。
Donc devant mon 10 pixels, je vais ajouter- 10, ce qui
因此,在我的 10 像素前面,我加上 -10,这
va permettre en ajoutant mon bloc souffle flèche bas d'avoir un singe qui descend à
能让添加‘向下箭头’积木后,猴子再次向下移动。
nouveau. Alors que se passe- t- il si on change la valeur de 10 par exemple par 100?
那么,如果我把 10 改成例如 100,会发生什么?
Ici j'ai mis 100 sur la flèche haut, et lorsque j'appuie,
这里,我在向上箭头中设了 100,当我按下时,
mon singe augmente à chaque fois de 100.
猴子每次都会升高 100。
C'est ce qui va me permettre d'aller plus ou moins vite.
这就能让我控制移动的快慢。
Si je mets une valeur de 2 sur Y, je vais faire la même chose ici, - 2.
如果我在 Y 上设 2,这里我也同样设为 -2。
Lorsque j'appuie, mon singe mettra beaucoup plus de temps.
当我按下时,猴子移动所需时间会大大增加。
Il faudra que j'appuie beaucoup plus de fois pour le faire descendre.
我要按很多次,才能让它下降。
Nous allons ici laisser la valeur de 10 pixels
我们这里保留两个方向都用 10 像素的值,
pour les deux.
即上下方向。
voyons maintenant pour la flèche gauche et la flèche droite donc ici je dois me
现在来看左箭头和右箭头:首先,我需要让角色
déplacer pour la première flèche vers la gauche
向左移动,
Donc pour aller vers la gauche, je vais aller de ce côté- là.
所以向左走,就是朝这个方向。
Je m'aperçois sur l'axe des abscisses que les valeurs sont négatives,
我注意到横轴(X 轴)上的数值是负的,
donc si je veux aller vers la gauche,
因此,若想向左移动,
il faudra bien que j'ajoute une valeur négative, donc de moins dix pixels.
就必须加一个负值,即 -10 像素。
Je viens mettre mon bloc en dessous, voilà qui est fait.
我把积木放到底下,好了。
Je peux tester.
我可以测试一下。
Pour l'instant, tout fonctionne.
目前一切正常。
Ne me manque que la flèche droite.
只剩下右箭头还没设置。
Si je veux aller sur la droite,
如果我想往右走,
je vois que je me dirige vers des valeurs positives,
我发现我正朝正值方向移动,
donc j'ajoute une valeur positive sur l'axe des abscisses.
因此要在横轴上加一个正值。
Ici, mon programme est prêt, donc j'appuie sur le drapeau vert,
这里,我的程序已准备就绪,所以我点击绿色旗帜。
mon singe se met à sa place, je vais vers le haut, je me déplace.
我的猴子立刻站到指定位置,然后向上移动。
etc. Je n'ai plus qu'à aller chercher un arrière- plan pour commencer mon jeu.
等等。我只需再选一个背景,就能开始我的游戏了。