تفادَ: انتهت اللعبة
جزء من قسم قواعد اللعبة في رحلة Godot على Coddy. الدرس 28 من 29.
عند نفاد الأرواح، تستمر اللعبة. وتواصل النقاط احتسابها، وينخفض عدد الأرواح إلى ما دون الصفر.
أنه اللعبة بالطريقة نفسها التي اتبعتها في غرفة الأشواك. أظهر تسمية GameOver المخفية وأوقف اللعبة مؤقتًا. يوقف الإيقاف المؤقت كلا المؤقتين، لذا تبقى النقاط مساوية لعدد الثواني التي نجوت فيها. وتتوقف الكتل في أماكنها.
if lives == 0:
$HUD/GameOver.visible = true
get_tree().paused = trueالتحدي
متوسطفي _on_player_hurt()، بعد سطر التسمية، تحقّق مما إذا كانت lives تساوي 0. إذا كان الأمر كذلك، أظهِر $HUD/GameOver وأوقِف اللعبة مؤقتًا.
جرّب بنفسك
extends Node2D
var block_scene = preload("res://block.tscn")
var score = 0
var lives = 3
func _ready():
$HUD/Score.text = "Score: %d" % score
$HUD/Lives.text = "Lives: %d" % lives
$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)
$ScoreTimer.timeout.connect(_on_score_timer_timeout)
$Player.hurt.connect(_on_player_hurt)
func _on_spawn_timer_timeout():
var block = block_scene.instantiate()
block.position = Vector2(randf_range(40, 600), -30)
add_child(block)
func _on_score_timer_timeout():
score += 1
$HUD/Score.text = "Score: %d" % score
func _on_player_hurt():
lives -= 1
$HUD/Lives.text = "Lives: %d" % lives
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس قواعد اللعبة
تدرّب بنفسك: Playground لـ Godot