Menu
CoddyTech

잠긴 문

Coddy Godot 여정의 프로젝트 섹션에 포함된 레슨. 33개 중 28번째.

Door가 계단으로 가는 길을 막고 있습니다. StaticBody2D이므로 move_and_slide가 영웅을 그 앞에서 멈춥니다. 그 앞에는 DoorZone이 있는데, 문보다 조금 더 넓은 Area2D이므로 영웅이 먼저 여기에 도달합니다.

영웅이 열쇠를 가지고 구역 안으로 걸어 들어가면 문이 열립니다.

func _on_door_zone_body_entered(body):
	if has_key:
		$Door.queue_free()
		$DoorZone.queue_free()

구역도 제거하세요. 그렇지 않으면 영웅이 다시 그 안으로 걸어 들어가고, $Door가 더 이상 존재하지 않아 게임이 노드를 찾을 수 없음 오류와 함께 중단됩니다.

queue_free()로 문을 제거하세요. hide()는 그리기만 중단합니다. 충돌 모양은 여전히 영웅을 막습니다.

challenge icon

챌린지

중급

main.gd에서 $DoorZone.body_entered를 연결하세요. 물체가 들어왔을 때 has_key가 참이면 $Door와 $DoorZone을 제거하세요.

직접 해보기

extends Node2D

var has_key = false

func _ready():
	$Key.body_entered.connect(_on_key_body_entered)

func _on_key_body_entered(body):
	has_key = true
	$Key.queue_free()
	$HUD/KeyIcon.visible = true
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

프로젝트의 모든 레슨

직접 연습해 보세요: Godot 플레이그라운드