无法在godot中取消暂停

问题描述 投票:0回答:3

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

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
3个回答
2
投票

只需将替换您准备好的功能如下:

func _ready():
       pause_mode = Node.PAUSE_MODE_PROCESS

或者 您可以在“检查器”选项卡下的“节点”中执行相同的操作。

这是官方文档链接


0
投票
您面临的问题是当您暂停树时,甚至输入过程也会停止。

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

func _process(delta): if Input.is_action_pressed("pause"): get_tree().paused = true if Input.is_action_pressed("unpause"): get_tree().paused = false
我希望它能解决这个问题。如果没有,

这里是 godot 的相关文档


0
投票
这是一个非常简单的修复。在 godot 4.x 中,脚本附加到的节点必须将进程模式设置为“禁用”,但在 3.x 中必须将其设置为“进程”。 您可以通过选择节点来更改设置,滚动到检查器底部的节点下拉列表下,应该有一个下拉选项,显示“模式”或“进程模式”。

但是如果您使用自动加载,则不必执行任何操作。

© www.soinside.com 2019 - 2024. All rights reserved.