compsci_godot_albert/_subsections/sec03/lesson-11.org
2024-11-27 04:24:34 +02:00

75 lines
2.8 KiB
Org Mode

#+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" />
#+title: Section 03 - Lesson 11, 12 | Signals, Custom Signals
* 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/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]]
** 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]]