惯性移动 ( 键盘 )
这篇文章会介绍,如何在 Scratch 里使用键盘侦测、角色移动、重复无限次、逻辑...等积木,实作键盘控制角色移动,在放开键盘按键时,模拟带有摩擦力减速的惯性运动。
积木程序原理
在 Scratch 里,有两个方式可以侦测键盘的按键是否被按下:
因为 Scratch 没有侦测键盘是否放开的积木,所以使用“重复无限次”、“如果...那么”搭配“...键被按下”的方式会比较容易实作键盘放开的功能,下方的程序设定按下键盘的向上键,猫咪就往上移动,按下向下键就往下移动,按下向左键就往左移动,按下向右键就往右移动。点击绿旗后,就能够用键盘的上下左右键操控猫咪。
上面程序的角色移动属于“等速运动”,如果要做得更为精致,可以加入“惯性”的机制 ( 启动时加速,靠近时减速的运动现象 )。
要改成惯性机制,必须先将上面的程序改成用“变数”的方式呈现,一开始加入 x 和 y 两个变数,设定在按下上下左右键时,改变 x 和 y 的数值,接着让角色根据 x 和 y 改变移动位置,最后再设定 x 和 y 变数为 0 ( 这样表示如果没有按下键盘,角色就不会移动 )。点击绿旗后,能产生和原本的程序一样的控制效果。
将最后两个 x 和 y 变数,从原本的 0,改成_“x * 0.8”和“y * 0.8”,这样就能够让 x 和 y 的数值在每次重复时变小,直到趋近于零,而不是直接变成 0,就能模拟减速的效果。
完成效果
点击绿旗,用键盘操控猫咪角色,放开键盘就会看到猫咪做减速的移动直到不动为止。
范例解答
范例解答:惯性移动 ( 键盘 )
延伸练习
如果已经熟悉了惯性移动的原理,还可以尝试更多好玩的作法:
微信扫码关注
抖音扫码关注