Menu
CoddyTech

وضع المعالجة

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

تتوقف كل العقد عند إيقاف اللعبة مؤقتًا. لكن بعض العقد ينبغي أن تواصل العمل، مثل رسالة «انتهت اللعبة» الوامضة أو قائمة الإيقاف المؤقت.

يحدد process_mode الخاص بالعقدة ما يلي:

  • Node.PROCESS_MODE_INHERIT: تتصرف كما يفعل العنصر الأب. وهذا هو الوضع الافتراضي.
  • Node.PROCESS_MODE_PAUSABLE: تتوقف عند إيقاف اللعبة مؤقتًا.
  • Node.PROCESS_MODE_ALWAYS: تواصل العمل، سواء أكانت اللعبة متوقفة مؤقتًا أم لا.
$Music.process_mode = Node.PROCESS_MODE_ALWAYS

يومض البرنامج النصي الآن برسالة «انتهت اللعبة» باستخدام Timer يُسمى Blink. يوقف الإيقاف المؤقت ذلك المؤقت، لذا لا تومض الرسالة أبدًا.

challenge icon

التحدي

سهل

أبقِ عبارة انتهاء اللعبة تومض أثناء إيقاف اللعبة مؤقتًا.

  1. في _ready()، خذ المؤقت Blink.
  2. اضبط process_mode على Node.PROCESS_MODE_ALWAYS.

اضغط «العب» وافقد ثلاثة أرواح: تومض عبارة انتهاء اللعبة فوق اللعبة المتوقفة. ثم اضغط «تحقق».

جرّب بنفسك

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)

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

func _on_blink_timeout():
	if lives == 0:
		$HUD/GameOver.visible = not $HUD/GameOver.visible

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

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