Menu
CoddyTech
flag Ar iconالعربيةdown icon

الباب المغلق

جزء من قسم المشاريع في رحلة Godot على Coddy. الدرس 28 من 33.

يمنع Door الطريق إلى الدرج. وهو StaticBody2D، لذا فإن move_and_slide يوقف البطل عنده. وأمامه توجد DoorZone، وهي Area2D أعرض قليلًا من الباب، لذا يصل إليها البطل أولًا.

عندما يدخل البطل المنطقة ومعه المفتاح، يُفتح الباب:

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

أزِل المنطقة أيضًا. وإلا فسيدخلها البطل مجددًا، ولن يعود $Door موجودًا، وستتوقف اللعبة مع ظهور Node not found.

أزِل الباب باستخدام 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اختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المشاريع

تدرّب بنفسك: Playground لـ Godot