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

اهرب من الزنزانة

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

السلالم في الزاوية البعيدة هي طريق الخروج. وهي منطقة من نوع Area2D تُسمّى Exit. عندما يطؤها البطل، يفوز اللاعب:

func _on_exit_body_entered(body):
	$HUD/Message.text = "You Escaped!"
	get_tree().paused = true

اربط إشارتها في _ready مع الإشارات الأخرى. يبدأ الضغط على مفتاح الإدخال لعبة جديدة بعد الفوز أيضًا، لأن إعادة التشغيل لا تتحقق إلا من أن اللعبة متوقفة مؤقتًا.

العب لعبتك في الزنزانة. ثم غيّرها: أضف حارسًا ثانيًا، أو انقل الجدران، أو أخفِ المفتاح في مكان يصعب العثور عليه.

challenge icon

التحدي

سهل

في main.gd، اربط $Exit.body_entered بدالة تعرض You Escaped! في $HUD/Message وتوقف اللعبة مؤقتًا.

جرّب بنفسك

extends Node2D

var has_key = false
var health = 3

func _ready():
	$Key.body_entered.connect(_on_key_body_entered)
	$DoorZone.body_entered.connect(_on_door_zone_body_entered)
	$Enemy.body_entered.connect(_on_enemy_body_entered)

func _process(delta):
	if get_tree().paused and Input.is_action_just_pressed("action"):
		get_tree().paused = false
		get_tree().reload_current_scene()

func _on_key_body_entered(body):
	has_key = true
	$Key.queue_free()
	$HUD/KeyIcon.visible = true

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

func _on_enemy_body_entered(body):
	health -= 1
	$HUD/Hearts.get_child(health).visible = false
	$Hero.flash()
	if health == 0:
		$HUD/Message.text = "Game Over"
		get_tree().paused = true
quiz iconاختبر نفسك

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

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

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