Menu
CoddyTech

تفادَ: انتهت اللعبة

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

عند وصول عدد الأرواح إلى صفر، تستمر اللعبة. وتواصل النقاط في الزيادة، وينخفض عدد الأرواح إلى ما دون الصفر.

أنه اللعبة بالطريقة نفسها التي اتبعتها في غرفة الأشواك. أظهر التسمية المخفية GameOver وأوقف اللعبة مؤقتًا. يوقف الإيقاف المؤقت كلا المؤقتين، لذا تبقى النتيجة عند عدد الثواني التي صمدت فيها. وتتوقف الكتل في أماكنها.

if lives == 0:
	$HUD/GameOver.visible = true
	get_tree().paused = true
challenge icon

التحدي

متوسط

أنه اللعبة عند نفاد الأرواح.

  1. في _on_player_hurt()، بعد سطر التسمية، تحقّق مما إذا كانت lives تساوي 0.
  2. إذا كان الأمر كذلك، فأظهر $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