๋ฉค๋ฒ„ ๋ณ€์ˆ˜์— ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ํ• ๋‹นํ•˜๊ณ  ์‹ถ์„ ๋•Œ @onready ์‚ฌ์šฉํ•˜๋ฉด ๋˜๋Š” ๊ฑด ์•Œ๊ฒ ๋Š”๋ฐ,

ex) @onready var node = $Node2D


_ready() ํ•จ์ˆ˜ ๋‚ด์—์„œ ํ• ๋‹นํ•˜๊ณ  ์‹ถ์œผ๋ฉด ์–ด๋–กํ•ด์•ผํ•จ?


ํ˜„์žฌ ์ƒํ™ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Œ.


class A๊ฐ€ ์žˆ์Œ. ๊ทธ๋ฆฌ๊ณ  A๋Š” Node์˜ ์ž์‹์ด ์•„๋‹˜.

๋”ฐ๋ผ์„œ $ sign์ด๋“ , get_node๋“  A ๋‚ด์—์„œ๋Š” ์ง์ ‘ ์‚ฌ์šฉํ•  ์ˆ˜๊ฐ€ ์—†์Œ.


๋Œ€์‹ ์—, ๋‚˜๋Š” A์˜ ์ƒ์„ฑ์ž์˜ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ํ•„์š”ํ•œ Node ๊ฒ์ฒด๋ฅผ ๋„˜๊ฒจ์ค„ ์˜ˆ์ •์ž„.


์˜ˆ๋ฅผ ๋“ค์ž๋ฉด, ์‹ค์ œ๋กœ ์”ฌ์— ์กด์žฌํ•˜๋Š” GameManager ๋…ธ๋“œ์—์„œ

A.new(๋…ธ๋“œ) ์ด๋Ÿฐ ์‹์œผ๋กœ ๋„˜๊ฒจ์ฃผ๋Š” ๊ฑฐ์ง€.


๊ทธ๋Ÿฐ๋ฐ, ๋ฌธ์ œ๋Š” ์ด๋ฅผ _ready ํ•จ์ˆ˜ ๋‚ด์—์„œ ์ง„ํ–‰ํ•˜๋ฉด,

null๊ฐ’์ด ๋„˜๊ฒจ์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑฐ์ž„..

(๊ทธ๋ž˜์„œ ์ผ๋ฐ˜์ ์ธ ๊ฒฝ์šฐ @onready ์–ด๋…ธํ…Œ์ด์…˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด๊ฒ ์ง€๋งŒ..)


์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•ด์•ผ ํ• ๊นŒ..?




์ผ๋‹จ ๋‚ด๊ฐ€ ๋– ์˜ฌ๋ฆฐ ํ•œ๊ฐ€์ง€ ๋ฐฉ์•ˆ์€,

GameManager๋ฅผ ์ตœ์ƒ์œ„ ๋…ธ๋“œ๋กœ ๋งŒ๋“œ๋Š” ๊ฑฐ์ž„.

๋ณด๋‹ˆ๊นŒ ์ž์‹์— ๋Œ€ํ•œ ์ฐธ์กฐ๋Š” ํ•ญ์ƒ ๊ฐ€๋Šฅํ•œ ๊ฒƒ ๊ฐ™๋”๋ผ๊ณ .


์ด๊ฑฐ ๋ง๊ณ ๋„ ๋ฐฉ๋ฒ•์ด ์žˆ์„๊นŒ?