Onready
Coddy Godot 여정의 노드와 씬 섹션에 포함된 레슨. 28개 중 21번째.
매 프레임마다 $Face/Eyes를 쓰면 초당 60번 노드를 찾습니다. 한 번만 찾아 변수에 저장해 두는 편이 더 좋습니다.
스크립트 맨 위의 변수는 노드가 생성될 때 만들어집니다. 아직 자식 노드가 연결되지 않았으므로 $Face/Eyes는 아무것도 찾지 못하고, Godot은 게임을 시작하지 않습니다. 앞에 @onready를 붙이면 노드가 준비되었을 때, _ready()가 실행되기 직전에 Godot이 변수에 값을 넣습니다.
@onready var mouth = $Face/Mouth
func _ready():
mouth.position.y += 2그런 다음부터 mouth는 스크립트의 모든 함수에서 해당 노드를 가리킵니다.
챌린지
쉬움눈이 빙글빙글 도는 어지러운 로봇을 만들어 보세요.
- 스크립트 맨 위에서 눈을 변수에 저장하세요:
@onready var eyes = $Face/Eyes. _process()에서eyes를 시계 방향으로 1초마다 반 바퀴(180도) 돌리세요.
‘플레이’를 누르세요. 눈은 얼굴 가운데를 중심으로 돌고, 로봇은 가만히 있습니다. 그런 다음 ‘확인’을 누르세요.
직접 해보기
extends Node2D
func _process(delta):
pass
노드와 씬의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드