74 lines
2.7 KiB
Org Mode
Executable file
74 lines
2.7 KiB
Org Mode
Executable file
#+title: Section 03 - Lesson 11, 12 | Signals, Custom Signals
|
|
#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="../../_share/media/css/godot.css" />
|
|
|
|
* Links
|
|
- [[../../toc.org][TOC - Godot Notes]]
|
|
- [[https://www.udemy.com/course/jumpstart-to-2d-game-development-godot-4-for-beginners/learn/lecture/45070477#announcements][S03:L22.11 - Signals]]
|
|
- [[https://www.udemy.com/course/jumpstart-to-2d-game-development-godot-4-for-beginners/learn/lecture/45070479#announcements][S03:L23.12 - Custom Signals]]
|
|
|
|
* Notes
|
|
|
|
** Signals
|
|
- messaging system
|
|
- way of communicating between nodes
|
|
|
|
*** connect basics
|
|
- means of connecting
|
|
- ide
|
|
- code
|
|
- the node giving the signal has a list of everyone that connected
|
|
|
|
*** connecting via ide
|
|
1. select Node panel on leftside, and then select the approrpiate signal
|
|
-
|
|
#+ATTR_HTML: :width 600px
|
|
[[file:../../_share/media/img/albert/section03/S03_L11_EX01.png]]
|
|
|
|
2. double click the selected filter
|
|
- options available:
|
|
- from signal
|
|
- connect to script
|
|
- receiver method
|
|
- you can also click on "Pick" next to receiver method so that you can choose a different method that already exists
|
|
|
|
3. click connect and the boilerplate code will appear in the script you had selected in the signal creation pane above in (2)
|
|
|
|
- if you look at the node pane on the right and scroll to the signal, you'll see a green indicator showing that you have connected that signal (to something)
|
|
|
|
-
|
|
#+ATTR_HTML: :width 300px
|
|
[[file:../../_share/media/img/albert/section03/S03_L11_EX02.png]]
|
|
|
|
- similarly, you can see a green icon by the function in the code editor
|
|
|
|
-
|
|
#+ATTR_HTML: :width 600px
|
|
[[file:../../_share/media/img/albert/section03/S03_L11_EX03.png]]
|
|
|
|
** Custom Signals
|
|
*** declare the signal
|
|
to create a signal, use the following format:
|
|
#+BEGIN_SRC godot
|
|
signal name_of_signal
|
|
#+END_SRC
|
|
|
|
*** activate the signal
|
|
#+BEGIN_SRC godot
|
|
name_of_signal.emit()
|
|
#+END_SRC
|
|
|
|
*** register to signal
|
|
- go to the scene you want to attach the signal to
|
|
- pick the node
|
|
- the signal should be available under Inspector->Node->Signals
|
|
- connect the signal, and give the function a name you want, this will be your receiver function
|
|
- if you want to attach another node to the same receiver function, use "pick" when connecting the signal
|
|
-
|
|
#+ATTR_HTML: :width 700px
|
|
[[file:../../_share/media/img/albert/section03/S03_L12_EX01.png]]
|
|
|
|
- if you have more than one node connected to a receiver function you can see which are connected by clicking on the green icon next to the receiver function
|
|
|
|
-
|
|
#+ATTR_HTML: :width 600px
|
|
[[file:../../_share/media/img/albert/section03/S03_L12_EX02.png]]
|