键盘与鼠标
在 Scratch 的世界里,除了动画,更多的是设计许多互动性的游戏或应用,因此键盘和鼠标变成为不可或缺的“互动输入端”,这篇文章会介绍在 Scratch 里键盘和鼠标的用法,以及一些常见的问题与注意事项。
快速导览:
按下与放开键盘
Scratch 有两种侦测按下键盘的方式,一种是使用“圆顶形”的积木,另外一种则是“侦测”类型的积木。
按下键盘的圆顶形积木,可以直接使用,如果连续按著键盘不放,执行程序的第一次与第二次之间会有 0.5 秒的间隔,之后每次都有 0.06~0.1 秒的时间间隔。
圆顶形积木虽然方便使用,但因为无法放在其他的积木里,所以不适合比较复杂的程序,如果要处理进阶的程序,可以将“侦测键盘”的积木,搭陪重复积木一同使用,下图的例子,使用重复无限次积木,侦测空白键按下时,将变数 a 增加 1。
不过如果使用重复无限次积木,因为重复执行时间“非常短”,所以会发生“按一次键盘,却执行了好几次”的状况,以刚刚的例子而言,可能会发生按一次键盘,a 的数值却从 1 直接增加到 3 或 4 甚至更多的状况,如果将程序换成下图,会发现按一次键盘,竟然存了三万多个项目到清单里。
为了避免这种状况发生,可以加入“等待直到按下键盘不成立”( 等待直到放开键盘 ) 的积木,确认放开键盘后,再次按下才会再次执行。
如果使用等待的积木,也可以做到按下键盘不断执行程序的效果。
按下与放开鼠标
Scratch 有两种侦测按下鼠标的方式,一种是使用“圆顶形”的积木,另外一种则是“侦测”类型的积木。
按下鼠标的圆顶形积木,可以直接使用,但这个积木只能作用在“角色”,并针对“按下”做动作,下图的例子,当鼠标点击猫咪时 ( 按下鼠标的时候 ),猫咪就会旋转。
圆顶形积木虽然方便使用,但因为无法放在其他的积木里,所以不适合比较复杂的程序,如果要处理进阶的程序,可以将“侦测鼠标按下”的积木,搭陪重复积木一同使用,侦测鼠标按下的积木,不限于是否点击角色,而是只要在舞台的任何位置按下鼠标,都会被侦测到。
下图的例子,在舞台的任何地方按下鼠标,猫咪都会旋转。
上图例子的执行过程中,会发现“每次按下鼠标时,猫咪不只转了 15 度”,因为重复积木执行时间“非常短”,所以会发生“按一次鼠标,却执行了好几次”的状况,为了处理这种状况,可以加入“等待直到按下鼠标不成立”( 等待直到放开鼠标 ) 的积木,确认放开鼠标后,再次按下才会再次执行。
“等待直到按下鼠标不成立”积木的摆放位置,会影响后续程序执行的时间,下图的例子,左边会在放开鼠标时,执行猫咪右转的动作,右边则是在按下鼠标时,就执行猫咪右转的动作。
如果要做到“点击猫咪”的功能,可以额外加入“侦测碰到鼠标”的积木,就能够做到点击猫咪,猫咪再旋转的效果。
微信扫码关注
抖音扫码关注