Menu
CoddyTech
flag Ar iconالعربيةdown icon

اعبر عشرة أنابيب للفوز

جزء من قسم المشاريع في رحلة Godot على Coddy. الدرس 25 من 33.

يمكن للاعب أن يخسر، لكنه لا يستطيع الفوز بعد. عند بلوغ النتيجة 10، اعرض You Win! وأوقف اللعبة مؤقتًا. اختبر ذلك عندما ترتفع النتيجة:

if score == 10:
	$HUD/Message.text = "You Win!"
	get_tree().paused = true

أخيرًا، أتح للاعب اللعب مجددًا. أثناء إيقاف اللعبة مؤقتًا، يعيد مفتاح المسافة تحميل المشهد. يعمل Main دائمًا، لذا تستمر _process في العمل:

func _process(delta):
	if get_tree().paused and Input.is_action_just_pressed("jump"):
		get_tree().paused = false
		get_tree().reload_current_scene()

مفتاح المسافة هو أيضًا مفتاح الرفرفة. نمط تشغيل اللاعب قابل للإيقاف المؤقت، لذا يتجاهل الضغط على المفتاح أثناء إيقاف اللعبة مؤقتًا.

challenge icon

التحدي

متوسط
  1. عندما تصل النتيجة إلى 10، اعرض You Win! وأوقف اللعبة مؤقتًا.
  2. أثناء الإيقاف المؤقت، يؤدي الضغط على مفتاح المسافة (jump) إلى استئناف اللعبة وإعادة تحميل المشهد.

جرّب بنفسك

extends Node2D

const PIPE = preload("res://pipe.tscn")

var score = 0

func _ready():
	$PipeTimer.timeout.connect(_on_pipe_timer_timeout)
	$Flyer.crashed.connect(_on_crash)
	$HUD/Score.text = "0"

func _on_pipe_timer_timeout():
	var pipe = PIPE.instantiate()
	pipe.position = Vector2(700, randf_range(100, 250))
	pipe.hit.connect(_on_crash)
	pipe.scored.connect(_on_scored)
	$Pipes.add_child(pipe)

func _on_crash():
	$HUD/Message.text = "Game Over"
	get_tree().paused = true

func _on_scored():
	score += 1
	$HUD/Score.text = str(score)
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المشاريع

تدرّب بنفسك: Playground لـ Godot