如何使用GDscript在Godot中创建自定义“更新”函数?

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

我想要一些类似于用 C# 为 Unity 编写的代码的东西。我希望能够在需要时调用“diy_update()”函数,并根据布尔值结束该过程。

    void Start()
    {
        StartCoroutine(DIY_Update());
    }

    IEnumerator DIY_Update()
    {
        while (true)
        {
            if(randomBoolean)
            {
                break;
            }
            yield return null;
        }
    }

这显然会让代码停止并等待,直到

DIY_Update()
完成,因此这不是我想要的。

extends Node

func _ready():
    await(DIY_Update())

func DIY_Update():
    while true:
        if random_boolean():
            break
        await(null)

coroutine godot gdscript
1个回答
0
投票

在 Unity 中执行

yield return null;
将使协程的执行在下一帧中恢复。

我们可以在 Godot 中这样做:

await get_tree().process_frame
© www.soinside.com 2019 - 2024. All rights reserved.