سجّل نقطة لعبور أنبوب
جزء من قسم المشاريع في رحلة Godot على Coddy. الدرس 24 من 33.
كل أنبوب تمرّ عبره يُحتسب نقطة. للأنبوب عنصر ابن Area2D يُسمّى Gap، وهو شريط رفيع خلف الفتحة. لا يلمسه الطائر إلا بعد اجتيازه، لذا تُحتسب النقطة عندها.
في pipe.gd، صِل إشارة العنصر الابن عبر $Gap وأطلق scored:
$Gap.body_entered.connect(_on_gap_body_entered)
func _on_gap_body_entered(body):
scored.emit()في main.gd، صِل إشارة scored لكل أنبوب جديد. أضف واحدًا إلى score واعرضه في $HUD/Score. تحوّل str(score) الرقم إلى نص. اعرض 0 عند البداية.
التحدي
متوسط- في
pipe.gd، أضفsignal scored. اربط$Gap.body_enteredوأصدرscoredعندما يدخل جسم إلى الفجوة. - في
main.gd، أضفvar score = 0واعرض0في$HUD/Scoreعند البداية. - اربط
scoredالخاص بكل أنبوب بدالة تزيد النتيجة بمقدار واحد وتعرض النتيجة الجديدة.
جرّب بنفسك
extends Area2D
signal hit
const SPEED = 160
func _ready():
body_entered.connect(_on_body_entered)
func _physics_process(delta):
position.x -= SPEED * delta
if position.x < -60:
queue_free()
func _on_body_entered(body):
hit.emit()
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس المشاريع
2مشروع: مطلق النار على الكويكبات
أدر السفينةأشعل المحرك3مشروع: الطائر المحلّق
جاذبية الطائراجعل الطائر يرفرفتدرّب بنفسك: Playground لـ Godot