Browse Source

Merge pull request #1470 from Zirak/patch-2

Demonstrate coroutine's completed signal
Max Hilbrunner 7 năm trước cách đây
mục cha
commit
e70691b8e9
1 tập tin đã thay đổi với 15 bổ sung0 xóa
  1. 15 0
      getting_started/scripting/gdscript/gdscript_basics.rst

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

@@ -1385,6 +1385,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 my_func():
+	    yield(button_func(), "completed")
+	    print("All buttons were pressed, hurray!")
+
+    func button_func():
+        yield($Button0, "pressed")
+	    yield($Button1, "pressed")
+
+``my_func`` will only continue execution once both the buttons are pressed.
+
 Onready keyword
 ~~~~~~~~~~~~~~~