added notes
This commit is contained in:
parent
890af05967
commit
7fdad57d8b
1 changed files with 88 additions and 0 deletions
|
|
@ -1,3 +1,5 @@
|
|||
#+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 07 | Moving the Gem
|
||||
|
||||
* Links
|
||||
|
|
@ -5,3 +7,89 @@
|
|||
- [[https://www.udemy.com/course/jumpstart-to-2d-game-development-godot-4-for-beginners/learn/lecture/45070467#announcements][S03:L14.07 - Moving the Gem]]
|
||||
|
||||
* Notes
|
||||
|
||||
we use scripting to extend node functionality
|
||||
|
||||
** get the gem to fall
|
||||
- we need to get the Gem/Area2D node to fall
|
||||
- if we had the sprite fall, the collision2D node would stay where it was
|
||||
|
||||
|
||||
*** add a script to the root node
|
||||
- click on the attach new script button in the scene pane
|
||||
-
|
||||
#+ATTR_HTML: :width 200px
|
||||
[[file:../../../_share/media/img/albert/attach_new_script.png]]
|
||||
- one script per node is the limit
|
||||
- you get access to all the children nodes inside the scene.
|
||||
|
||||
*** attach node script dialogue
|
||||
- Template is generally Node: Default
|
||||
- some object types provide other templates with different boiler plate code
|
||||
|
||||
- the node we attached a script to will have a script icon next to the eye icon
|
||||
-
|
||||
#+ATTR_HTML: :width 200px
|
||||
[[file:../../../_share/media/img/albert/script_icon.png]]
|
||||
|
||||
*** detaching script from node
|
||||
- sometimes you don't want a certain script attached to a node
|
||||
- for testing purposes to prevent a script from doing something
|
||||
- you want a different script, etc.
|
||||
|
||||
- if a script is attached, then when you select the node the "script attach button" will change from a green plus to a red x
|
||||
- press the button and detach it
|
||||
|
||||
** life cycle of a node
|
||||
*** functions
|
||||
- _ready()
|
||||
- _process(delta:float)
|
||||
|
||||
*** tree build by stages
|
||||
1. initialization stage
|
||||
- creation
|
||||
- function: _init_()
|
||||
|
||||
2. attachment stage
|
||||
- added to tree
|
||||
- function: _enter_tree()
|
||||
|
||||
3. finalization stage
|
||||
- node and children ready
|
||||
- function: _read()
|
||||
|
||||
*** how it is built
|
||||
- every node is given an id before it gets a name
|
||||
|
||||
- all init functions will be called before any other stage for any other node is invoked
|
||||
|
||||
- similarly the attachment stage, of adding nodes to other nodes takes place before any other function in any other node is activated
|
||||
- at this point we get a name for the node
|
||||
|
||||
- ready tells us that the node is up and ready to go, and so are its children
|
||||
- therefore the children of the node will be set up before the parent
|
||||
- ready will be called for the children first
|
||||
|
||||
*** process functions
|
||||
- invoked on all nodes
|
||||
- every frame
|
||||
|
||||
- used to update the node each frame
|
||||
|
||||
- delta refers to the time that elapsed since previous call on previous frame
|
||||
- use delta to normalize things
|
||||
|
||||
**** _process(delta)
|
||||
- called in main loop
|
||||
- as fast as possible
|
||||
|
||||
**** _physics_process(delta)
|
||||
- called in main loop
|
||||
- regular interval
|
||||
|
||||
** adding code to move gem down
|
||||
- increase the y position
|
||||
- all node parameters can be found in inspector (including inherited)
|
||||
- position.y = position.y + speed * delta
|
||||
- speed can be anything
|
||||
- we multiply by delta to normalize it compared to the time of the previous frame
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue