Menu
CoddyTech

많은 가시, 하나의 함수

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 그룹에 속해 있습니다.

challenge icon

챌린지

중급

모든 스파이크 행에 닿으면 처음으로 돌아가게 하세요.

  1. _ready()에서 기존 connect 줄 하나를 그룹 spikes를 순회하는 for 루프로 바꾸세요.
  2. 루프 안에서 각 노드의 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 플레이그라운드