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

إعادة التشغيل عند ضغط مفتاح

جزء من قسم قواعد اللعبة في رحلة Godot على Coddy. الدرس 15 من 29.

يتخلّص هذا السطر من المشهد ويحمّله من جديد من ملفه:

get_tree().reload_current_scene()

تبدأ اللعبة الجديدة بثلاث أرواح، واللاعب على المربع الأخضر، وشاشة «انتهت اللعبة» مخفية.

إنّ Main متوقّف مؤقتًا أيضًا، لذا لا يرصد _process المفتاح مطلقًا. اضبط process_mode الخاص بـ Main على Node.PROCESS_MODE_ALWAYS. ترث العناصر التابعة له هذا الإعداد، باستثناء اللاعب. يضبط المشهد اللاعب على وضع قابل للإيقاف المؤقت، لذا يظل متوقفًا.

لا يؤدي إعادة التحميل إلى إلغاء الإيقاف المؤقت للعبة. اضبط get_tree().paused = false قبل إعادة التحميل، وإلا ستبدأ اللعبة الجديدة وهي متوقفة مؤقتًا.

challenge icon

التحدي

سهل

دع اللاعب يضغط على E للعب مجددًا بعد انتهاء اللعبة:

  1. في _ready()، اضبط process_mode لهذه العقدة على Node.PROCESS_MODE_ALWAYS.
  2. في _process()، عندما تكون قيمة lives هي 0 ويكون action قد ضُغط للتو، ألغِ إيقاف اللعبة مؤقتًا وأعِد تحميل المشهد.

جرّب بنفسك

extends Node2D

var lives = 3

func _ready():
	$HUD/Lives.text = "Lives: %d" % lives
	$Player.hurt.connect(_on_player_hurt)
	$Blink.timeout.connect(_on_blink_timeout)
	$Blink.process_mode = Node.PROCESS_MODE_ALWAYS

func _process(delta):
	pass

func _on_player_hurt():
	lives -= 1
	$HUD/Lives.text = "Lives: %d" % lives
	if lives == 0:
		$HUD/GameOver.visible = true
		$HUD/Hint.visible = true
		get_tree().paused = true

func _on_blink_timeout():
	if lives == 0:
		$HUD/GameOver.visible = not $HUD/GameOver.visible
quiz iconاختبر نفسك

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

جميع دروس قواعد اللعبة

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