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

سجّل نقطة لعبور أنبوب

جزء من قسم المشاريع في رحلة 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 عند البداية.

challenge icon

التحدي

متوسط
  1. في pipe.gd، أضف signal scored. اربط $Gap.body_entered وأصدر scored عندما يدخل جسم إلى الفجوة.
  2. في main.gd، أضف var score = 0 واعرض 0 في $HUD/Score عند البداية.
  3. اربط 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()
quiz iconاختبر نفسك

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

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

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