【问题标题】:Cant unpause in godot无法在godot中取消暂停
【发布时间】:2020-10-23 10:30:07
【问题描述】:

我正在用 godot 制作游戏。但是暂停后我无法取消暂停。我使用 Input Map 创建了两个键盘快捷键(一个用于暂停,另一个用于取消暂停)并自动加载脚本。这是代码:

extends Node


var players_coin = 0

func _ready():
    PAUSE_MODE_PROCESS

func _input(event):

    if Input.is_action_pressed("pause"):
        get_tree().paused = true

    if Input.is_action_pressed("unpause"):
        get_tree().paused = false

我不擅长堆栈溢出,但这应该可以。

我正在使用“Godot 3.2.2.stable”,任何帮助都会很棒。

【问题讨论】:

标签: godot pause


【解决方案1】:

只需替换您准备好的函数如下:

func _ready():
       pause_mode = Node.PAUSE_MODE_PROCESS

或者 您可以在 Node Inspector 选项卡下 中执行相同的操作。

here is the offical documentation link

【讨论】:

    【解决方案2】:

    你面临的问题是当你暂停树时,即使输入过程也停止了。

    修复: 不要让它成为自动加载脚本,将其附加到节点并将其暂停模式设置为处理。

    func _process(delta):
        if Input.is_action_pressed("pause"):
            get_tree().paused = true
    
        if Input.is_action_pressed("unpause"):
            get_tree().paused = false
    

    我希望它能解决这个问题。如果不是 here 是 godot 的文档

    【讨论】:

    • 嘿,我只是想稍微扩展一下自动加载。它们是普通节点,但在启动 godot 时会将它们添加到主场景之前的根目录下的场景树中。旧版本的 godot 你实际上会使用 get_tree().get_node(“/root/autoloadname”) 并且你仍然可以这样做。
    猜你喜欢
    • 1970-01-01
    • 2016-03-26
    • 1970-01-01
    • 1970-01-01
    • 2022-07-01
    • 2019-12-17
    • 1970-01-01
    • 2015-12-21
    • 2022-01-06
    相关资源
    最近更新 更多