Godot游戏开发:按空格键无法实现暂停功能求助
空格键暂停游戏无效的问题排查及修复
你的代码逻辑存在冲突,导致按下空格时暂停状态刚被开启就立刻被关闭,所以看不到效果:
- 当按下空格键时,第一个
if会把get_tree().paused设为true - 紧接着第二个
if检测到同一个按键事件,且此时paused已经是true,于是立刻将其设为false - 两次操作在同一帧内完成,最终暂停状态没有变化
修复方案
直接在按下空格的瞬间翻转暂停状态即可,同时使用is_action_just_pressed避免按住空格时反复切换:
func _input(event): if event.is_action_just_pressed("space"): get_tree().paused = not get_tree().paused
补充说明
is_action_just_pressed只会在按键按下的第一帧触发一次,防止按住空格时暂停状态反复切换- 用
not get_tree().paused直接取反当前状态,实现"按一次暂停,再按一次恢复"的逻辑
内容的提问来源于stack exchange,提问作者AbsolutePickle42
相关产品推荐
相关产品推荐

