搜索

Scratch3两种检测按键方法的区别

2023-03-16 08:55:57

对键盘按键动作进行即时检测是游戏开发中最常用功能之一。 在Scratch3中实现该功能有两种常用方法,一种是直接使用“事件”积木块中的积木,我们本文中称为A方法:
按下空格执行后续程序
另一种是:
按下空格执行夹子内程序
该方法还有一个表达形式是:
按下空格执行夹子内程序
我们本文称为B方法。 那么这两种方法有什么区别呢? 表面上看差不多,其实区别非常大。我们可以做一个小实验:
二者只能执行后触发的程序线程
在A方法下,如果我们同时按下↑键和→键,角色只能执行一个线程,要么向上移动,要么向右移动,并不能实现我们想要的右上方移动效果。 而B方法则可以实现角色右上方移动效果:
二者同时执行,但是依然是间隔极短的轮流执行
严格来说,B方法并不是真正的实现了这个效果,而是在B方法中,角色是两个命令轮流执行,上移1像素后,再右移1像素,然后循环执行,看上去就像是右上方移动了。 所以,在我们实际项目中,根据要求不同,我们会选择不同的按键侦测方式,如果确定只是上下左右移动,那么选用A方法;如果角色不限制方向,则B方法使用情况居多。 另外,B方法开启多个线程侦测按键在复杂项目中不推荐使用,我们通常会将B方法优化成如下方法:
顺序轮流执行,但是速度很快,感官上是同步执行
这样我们就只需要开启一条线程,提高了程序的可读性和执行效率。

← 返回 Scratch 资讯  |  意见反馈

微信二维码 微信扫码关注 抖音二维码 抖音扫码关注