اعبر عشرة أنابيب للفوز
جزء من قسم المشاريع في رحلة 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()مفتاح المسافة هو أيضًا مفتاح الرفرفة. نمط تشغيل اللاعب قابل للإيقاف المؤقت، لذا يتجاهل الضغط على المفتاح أثناء إيقاف اللعبة مؤقتًا.
التحدي
متوسط- عندما تصل النتيجة إلى 10، اعرض
You Win!وأوقف اللعبة مؤقتًا. - أثناء الإيقاف المؤقت، يؤدي الضغط على مفتاح المسافة (
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)
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المشاريع
2مشروع: مطلق النار على الكويكبات
أدر السفينةأشعل المحرك3مشروع: الطائر المحلّق
جاذبية الطائراجعل الطائر يرفرفتدرّب بنفسك: Playground لـ Godot