Menu
CoddyTech

أنابيب بمؤقّت

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

تأتي الأنابيب بعد ذلك. الأنبوب مشهد، pipe.tscn: جزء علوي وجزء سفلي بينهما فجوة. في pipe.gd ينزلق إلى اليسار بسرعة SPEED بكسل في الثانية. بعد تجاوزه الحافة اليسرى، يزيل نفسه، كي لا تتراكم الأنابيب القديمة:

position.x -= SPEED * delta
if position.x < -60:
	queue_free()

يحتوي المشهد على Timer يُسمى PipeTimer، ويُطلق إشارة كل 1.6 ثانية. في main.gd، وصّل إشارة timeout واجعل أنبوبًا يتجاوز الحافة اليمنى:

func _on_pipe_timer_timeout():
	var pipe = PIPE.instantiate()
	pipe.position = Vector2(700, 180)
	$Pipes.add_child(pipe)

يرسم Godot العقد حسب ترتيبها في الشجرة. يأتي Pipes قبل Ground، لذا تغطي الأرضية الجزء السفلي من كل أنبوب.

challenge icon

التحدي

متوسط

أرسل الأنابيب عبر الشاشة.

  1. في pipe.gd، أضف const SPEED = 160. حرّك الأنبوب إلى اليسار في كل إطار فيزيائي، وأزله عندما تصبح position.x أقل من -60.
  2. في main.gd، أضف const PIPE = preload("res://pipe.tscn") وصِل $PipeTimer.timeout.
  3. عند كل انتهاء للمهلة، أنشئ أنبوبًا عند (700, 180) في العقدة Pipes.

اضغط «العب»: ستنزلق الأنابيب من اليمين. ثم اضغط «تحقق».

جرّب بنفسك

extends Node2D

func _ready():
	pass

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

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