تفادَ: انتهت اللعبة
جزء من قسم قواعد اللعبة في رحلة 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