最新消息:

scratch3.0小问题系列(八)按键事件与按键侦测

Scratch 少儿编程 2748浏览 0评论
Scratch3.0小问题系列01

友情提示:视频教程观看时请手动设置清晰度。

scratch3.0小问题系列(八)按键事件与按键侦测

大家好,我是苏小糖,今天来研究一下Scratch中对于按键的处理。很多程序中都会加入按键的检测,来控制角色作出各种动作。比如说角色的移动,飞机发射子弹,或者说打字母游戏,都需要加入对按键状态的判断。Scratch中,事件代码下有当按下某某键,侦测代码下有按下某某键?这两种的使用区别,现在来探究一下。

1使用两个角色做对比测试

添加篮球角色,使用事件代码,上下左右四个方向键分别在对应方向上坐标改变10。

scratch3.0小问题系列(八)按键事件与按键侦测

添加苹果角色,使用侦测代码和如果那么判断结构,同样下左右四个方向键分别在对应方向上坐标改变10

scratch3.0小问题系列(八)按键事件与按键侦测

两个角色的初始化位置均为x:0 y:0。按下对应按键以后,在对应方向上的坐标值变化也是一样的。很直观的可以判断篮球和苹果的运动状态会是同步的。但是,果真如此么?

2 进行点按和长按测试

首先进行点按测试,按下按键后,快速放开。可以发现,苹果移动的速度要快一些。篮球的速度要慢一些。就像每次苹果都多跑一点。

scratch3.0小问题系列(八)按键事件与按键侦测

然后进行长按测试,按下按键后,等待1秒或2秒再放开。可以发现,苹果移动的速度还是比篮球快。而且篮球会有卡顿感,持续按住按键的时候篮球的运动依然是有停顿的。尤其按下按键第一次移动后停顿的时间要长一些。

scratch3.0小问题系列(八)按键事件与按键侦测

3 对比测试结论

通过以上直观的对比测试,可以得出结论。

 

事件代码下的按键检测适合单次触发动作,不要求连续性的情况。而且两个不同按键的编程相互独立。比如,克隆方式发射子弹,最好是有时间间隔的,而不是几乎同时发射多发子弹。

 

侦测代码下的按键检测适合对连续性要求较高,长按允许连续多次执的情况。比如,角色的移动,我们希望是连续的,没有停顿感的。

转自公众号:
xtrobot

您必须 登录 才能发表评论!