You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Godot 4.2.2:从暂停菜单切换主菜单后无法解除暂停的问题

解决Godot 4.2.2切换主菜单后游戏仍暂停的问题

问题根源分析

你遇到的问题核心有两点:一是代码存在语法错误,导致取消暂停的逻辑未完整执行;二是仅设置PROCESS_MODE_ALWAYS不足以让节点在树暂停状态下响应输入事件。

步骤1:修复代码语法错误

你的_on_exit_menu_button_up函数存在两处语法问题,会导致代码执行中断,取消暂停的逻辑还没走完就切换了场景:

  • 第一个print语句末尾多了个.,不符合GDScript语法规范
  • get_tree().paused = false后混入了多余的your text字符串

修正后的代码:

func _on_exit_menu_button_up():
    print("退出菜单,取消游戏暂停")
    Global.paused = false
    get_tree().paused = false
    print("游戏已取消暂停,正在切换场景")
    get_tree().change_scene_to_packed(menu_scene)

步骤2:补充输入模式设置

PROCESS_MODE_ALWAYS仅能让节点在树暂停时继续执行_process逻辑,但输入事件(比如按钮点击)仍会被阻断。需要给MainMenu节点添加输入模式强制开启:

func _ready():
    process_mode = Node.PROCESS_MODE_ALWAYS
    input_mode = Node.INPUT_MODE_ALWAYS  # 确保暂停状态下仍能接收按钮点击
    # 额外保险:切换到主菜单后强制取消树的暂停状态
    Global.paused = false
    get_tree().paused = false

关键逻辑说明

  • 必须确保get_tree().paused = false执行完成后再切换场景,或者在新场景的_ready中再次确认暂停状态,避免场景切换时的状态残留
  • INPUT_MODE_ALWAYS是让节点在树暂停时仍能响应输入事件的关键,仅靠PROCESS_MODE_ALWAYS无法解决按钮点击失效的问题

内容的提问来源于stack exchange,提问作者user25594986

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 07:22:37