وضع المعالجة
جزء من قسم قواعد اللعبة في رحلة 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()، اضبط process_mode لمؤقّت Blink على 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