我想要一些类似于用 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)
在 Unity 中执行
yield return null;
将使协程的执行在下一帧中恢复。
我们可以在 Godot 中这样做:
await get_tree().process_frame