【发布时间】:2020-06-11 04:49:37
【问题描述】:
我是编程新手,我想知道您如何能够处理连续的、定时的按键,以便让角色做一些不同的事情。例如,在像'Super Smash Bros.'这样的游戏中,你按下一个按钮让一个角色出拳,如果你再按一次,他们就会打出第二拳;再次按下它会导致踢球。我如何才能在 Scratch 3.0 中对此进行编程(最好,但用另一种编程语言进行解释可能会有所帮助)?
顺便说一句,如果这有帮助,我正在使用 'state' 变量 来处理其他动画,例如跑步;我希望角色能够在定时按键发生时进行动画处理。
【问题讨论】:
-
我认为你需要使用一个变量来计算按键被按下的次数。当它被按下时,检查计时器是否小于指定值并增加变量,否则重置它。然后重置计时器。
-
如果我有时间我会写一个关于如何使用finite automata(也称为有限状态机)来跟踪按键的答案。每次按下键时,如果按下的键存在状态转换,并且仅当最后一次按键足够近时,您将捕获时间戳并移动到新状态。如果您移动到“最终”状态,则执行组合并重置状态机。
-
感谢 MaxiMouse 的解释,但你能写一个示例代码吗?
-
谢谢罗曼,如果可以的话,我将不胜感激! ;)
标签: game-engine game-physics mit-scratch