浏览代码

Demonstrate coroutine's completed signal

Apologies again for the spam.
Zirak 7 年之前
父节点
当前提交
1f3275622d
共有 1 个文件被更改,包括 15 次插入0 次删除
  1. 15 0
      getting_started/scripting/gdscript/gdscript_basics.rst

+ 15 - 0
getting_started/scripting/gdscript/gdscript_basics.rst

@@ -1388,6 +1388,21 @@ signal is received, execution will recommence. Here are some examples:
     # Wait 5 seconds, then resume execution
     yield(get_tree().create_timer(5.0), "timeout")
 
+Coroutines themselves use the ``completed`` signal when they transition
+into an invalid state, for example:
+
+::
+
+    func func():
+	    yield(button_func(), "completed")
+	    print("All buttons were pressed, hurray!")
+
+    func button_func():
+        yield($Button0, "pressed")
+	    yield($Button1, "pressed")
+
+``func`` will only continue execution once both the buttons are pressed.
+
 Onready keyword
 ~~~~~~~~~~~~~~~