๋ฉค๋ฒ ๋ณ์์ ์ด๊ธฐ๊ฐ์ผ๋ก ํ ๋นํ๊ณ ์ถ์ ๋ @onready ์ฌ์ฉํ๋ฉด ๋๋ ๊ฑด ์๊ฒ ๋๋ฐ,
ex) @onready var node = $Node2D
_ready() ํจ์ ๋ด์์ ํ ๋นํ๊ณ ์ถ์ผ๋ฉด ์ด๋กํด์ผํจ?
ํ์ฌ ์ํฉ์ ๋ค์๊ณผ ๊ฐ์.
class A๊ฐ ์์. ๊ทธ๋ฆฌ๊ณ A๋ Node์ ์์์ด ์๋.
๋ฐ๋ผ์ $ sign์ด๋ , get_node๋ A ๋ด์์๋ ์ง์ ์ฌ์ฉํ ์๊ฐ ์์.
๋์ ์, ๋๋ A์ ์์ฑ์์ ํ๋ผ๋ฏธํฐ๋ก ํ์ํ Node ๊ฒ์ฒด๋ฅผ ๋๊ฒจ์ค ์์ ์.
์๋ฅผ ๋ค์๋ฉด, ์ค์ ๋ก ์ฌ์ ์กด์ฌํ๋ GameManager ๋ ธ๋์์
A.new(๋ ธ๋) ์ด๋ฐ ์์ผ๋ก ๋๊ฒจ์ฃผ๋ ๊ฑฐ์ง.
๊ทธ๋ฐ๋ฐ, ๋ฌธ์ ๋ ์ด๋ฅผ _ready ํจ์ ๋ด์์ ์งํํ๋ฉด,
null๊ฐ์ด ๋๊ฒจ์ง ์ ์๋ค๋ ๊ฑฐ์..
(๊ทธ๋์ ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ @onready ์ด๋ ธํ ์ด์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด๊ฒ ์ง๋ง..)
์ด๋ป๊ฒ ํด๊ฒฐํด์ผ ํ ๊น..?
์ผ๋จ ๋ด๊ฐ ๋ ์ฌ๋ฆฐ ํ๊ฐ์ง ๋ฐฉ์์,
GameManager๋ฅผ ์ต์์ ๋ ธ๋๋ก ๋ง๋๋ ๊ฑฐ์.
๋ณด๋๊น ์์์ ๋ํ ์ฐธ์กฐ๋ ํญ์ ๊ฐ๋ฅํ ๊ฒ ๊ฐ๋๋ผ๊ณ .
์ด๊ฑฐ ๋ง๊ณ ๋ ๋ฐฉ๋ฒ์ด ์์๊น?
์ฐ์ @onready๋ ํด๋น ํ ๋น์ '_ready()๊ฐ ์ํ๋๋ ์์ '์ ํด์ฃผ๊ฒ ๋ค๋ ์๋ฏธ์. ๋ณ์ ์ด๊น๊ฐ ํ ๋น ์์ฒด๋ @onready์์จ๋๋จ
๊ทธ๋ฆฌ๊ณ ์์์ด ์๋์ด๋ $ํ๊ธฐ๋ฒ์ด๋ get_node()๋ก ๊ฐ์ ธ์ฌ ์ ์์ด ์๋ฅผ ๋ค์ด ๋ ธ๋A์ ์์์ธ ๋ ธ๋B์ ๋ ธ๋C๊ฐ ์์๋, ๋ ธ๋B์์ C๋ฅผ ์ฐธ์กฐํ๋ ค๋ฉด get_node("../C")ํ๋ฉด ๋จ. ๋ ธ๋ ๊ฒฝ๋ก์์ ..์ ๋ถ๋ชจ๋ฅผ ์๋ฏธํจ
๋ ธ๋ ๊ฒฝ๋ก๊ฐ ์ข ๋ณต์กํ ๊ฒฝ์ฐ์๋ Unique Name์ด๋ผ๋ ๊ธฐ๋ฅ์ ์ธ ์๋ ์์ด.
ใ ใ . ๊ทผ๋ฐ _ready() ์์ get_node๋ฅผ ํด์ฃผ๋ฉด ๊ฐ๋ ๋ ธ๋๋ฅผ ์ฐพ์ง ๋ชปํ๊ณ null๊ฐ์ด ๋ค์ด๊ฐ ๋๊ฐ ๋ง์๋ฐ ์ด๊ฑด ์ด์ฉ ์ ์๋ ๊ฑฐ์? ๋ถ๋ชจ๊ฐ ์์์ ์ฐพ์ ๋๋ ํญ์ ์ฐพ๋ ๋ฐ ์ฑ๊ณตํ๋ ๋ฐ, ๋ถ๋ชจ๋, ํ์ ๊ด๊ณ์ ์๋ ๋ ธ๋๋ฅผ ์ฐพ์ ๋๋ ์ผ๋จ ์คํํด๋ณธ ๋ฐ๋ก๋ ์ ๋ถ null์ด ๋ค์ด๊ฐ;
๊ฒฝ๋ก๋ฅผ ์ ๋๋ก ์ ๋ ฅํ๊ณ ๊ทธ ๊ฒฝ๋ก์ ๋ ธ๋๊ฐ ์กด์ฌํ๋ค๋ฉด null์ด ๋์ฌ ์๊ฐ ์ ์ด
๊ฑ ์ง๋ฌธํ ๋ ์ฝ๋๋ฅผ ๊ฐ์ด์ฌ๋ฆฌ์ ํ๋ก์ ํธใ ์ค์ท์ด๋
ใ ใ ..๋ฏธ์ํ๋ค ๋ ๋ง๋๋ก ๊ฒฝ๋ก ๋ฌธ์ ์์ ใ ใ ใ ใ ใ ์ค์ท ์ฌ๋ฆด๋ ค๋ค๊ฐ ๋ ๋ณต์กํด ๋ณด์ฌ์ ๊ทธ๋ฅ ๋ง๋ก ์ค๋ช ํ ๊ฑด๋ฐ ์ง์ ์ค์ท ์ฌ๋ฆด ๊ฑธ ๊ทธ๋ฌ๋ค
๋ญ๋ ๊ณ์ ๋๊ธ ์ ๋ฌ๋ ค์ ํด๋ํฐ์ผ๋ก ์ด์ด ๋ค๋ ์ค $D ๋์ ์ "../D" ๋ก ํด๊ฒฐํ๊ณ ์ด๋์ @onready์ ์ฌ์ฉ ์ด์ ๊ฐ ์ฐพ์ผ๋ ค๋ ๋ ธ๋๋ฅผ ์ฐพ๋ ๊ฒ์ ๋ณด์ฅํด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ผ๋ ๋ฌธ๊ตฌ๋ฅผ ๋ณธ ๊ฒ ๊ฐ์์ null์ด ๋์ค๋ ์ด์ ๊ฐ _ready ์ ๋ฌธ์ ์ธ์ค ์์๋๋ฐ ๊ทธ๊ฒ ์๋์๋ ๋ณด๋ค.. ๋์์ค์ ๊ฐ์ฌ ใ ใ
extends Node2D func _ready(): print("I am C ", $D) ์ ์ฝ๋๋ฅผ ๋ณด๋ฉด, C๋ผ๋ ๋ ธ๋์์ D(๊ฐ์ ๋ถ๋ชจ๋ฅผ ๊ฐ์ง๊ณ ์์)๋ฅผ ์ฐพ์์ ์ถ๋ ฅํ๋ ์ฝ๋์ธ๋ฐ, null์ด ์ถ๋ ฅ๋จ.
๊ทธ๋์, ๋ ธ๋๊ฐ ๋์ด๋ ์์์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ ์ถ์๋๋ฐ, D์์ C๋ฅผ ์ฐพ์ ๋๋ ๋ง์ฐฌ๊ฐ์ง์. null์ด ์ถ๋ ฅ๋จ.
๋์ , ๋ถ๋ชจ์์ C์ D๋ฅผ ์ถ๋ ฅํ ๋ ์ ๋์ด. C์ D์์ ๋ถ๋ชจ๋ฅผ ์ถ๋ ฅํ๋ฉด null์ด ๋์ค๊ณ