وضع المعالجة
جزء من قسم قواعد اللعبة في رحلة 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. يوقف الإيقاف المؤقت ذلك المؤقت، لذا لا تومض الرسالة أبدًا.
التحدي
سهلأبقِ عبارة انتهاء اللعبة تومض أثناء إيقاف اللعبة مؤقتًا.
- في
_ready()، خذ المؤقتBlink. - اضبط
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