많은 가시, 하나의 함수
Coddy Godot 여정의 시그널과 충돌 섹션에 포함된 레슨. 27개 중 21번째.
하나의 레벨에는 모두 같은 동작을 하는 스파이크가 여러 개 있을 수 있습니다. 그룹을 순회하는 반복문을 사용해 모두 하나의 함수에 연결하세요:
for spike in get_tree().get_nodes_in_group("spikes"):
spike.body_entered.connect(_on_spike_body_entered)반복문이 한 번 실행될 때마다 다음 스파이크의 body_entered가 연결됩니다. 어느 줄에 닿든 같은 함수가 실행되어 플레이어의 몸체를 가져옵니다.
그룹에 다섯 번째 줄을 추가해도 새 코드가 필요하지 않습니다. 여기 있는 네 줄은 spikes 그룹에 속해 있습니다.
챌린지
중급모든 스파이크 행에 닿으면 처음으로 돌아가게 하세요.
_ready()에서 기존connect줄 하나를 그룹spikes를 순회하는for루프로 바꾸세요.- 루프 안에서 각 노드의
body_entered를_on_spike_body_entered에 연결하세요.
‘플레이’를 누르고 아무 스파이크에나 걸어 들어가 보세요. 시작 지점으로 돌아갑니다. 그런 다음 ‘확인’을 누르세요.
직접 해보기
extends Node2D
func _ready():
$Spikes1.body_entered.connect(_on_spike_body_entered)
func _on_spike_body_entered(body):
body.position = Vector2(80, 280)
시그널과 충돌의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드