잠긴 문
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()는 그리기만 중단합니다. 충돌 모양은 여전히 영웅을 막습니다.
챌린지
중급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
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
프로젝트의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드