2024-11-14 19:55:52 +02:00
#+HTML_HEAD : <link rel="stylesheet" type="text/css" href="../../../../../_share/media/css/org-mode.css" />
#+HTML_HEAD : <link rel="stylesheet" type="text/css" href="../../../_share/media/css/godot.css" />
2024-11-16 22:05:19 +02:00
#+title : Section 03 - Lesson 11, 12 | Signals, Custom Signals
2024-11-14 19:55:52 +02:00
* Links
- [[../../toc.org ][TOC - Godot Notes ]]
2024-11-16 22:02:10 +02:00
- [[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 ]]
2024-11-14 19:55:52 +02:00
* Notes
2024-11-16 22:05:19 +02:00
** Signals
2024-11-15 14:27:52 +02:00
- 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/albert/img/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/albert/img/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/albert/img/section03/S03_L11_EX03.png ]]
2024-11-16 22:02:10 +02:00
** 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/albert/img/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/albert/img/section03/S03_L12_EX02.png ]]