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

الارتداد عن المضرب

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

تمر الكرة عبر المضرب. الكرة عبارة عن Area2D. تُطلق إشارتها body_entered عندما يلمسها جسم، مثل المضرب. وجّه الكرة إلى الأعلى عندما يكون ذلك الجسم هو المضرب:

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	if body.name == "Paddle":
		velocity.y = -abs(velocity.y)

تزيل abs() إشارة السالب، لذا فإن -abs(velocity.y) يتجه دائمًا إلى الأعلى. لن تؤدي لمسة ثانية إلى إرسال الكرة إلى الأسفل مجددًا.

لإتاحة توجيه الكرة للاعب، اضبط velocity.x بحسب موضع اصطدام الكرة. تمثل position.x - body.position.x بُعد الكرة عن منتصف المضرب. تكون القيمة سالبة في النصف الأيسر وموجبة في النصف الأيمن. اضربها في 5.

challenge icon

التحدي

متوسط

في ball.gd، اجعل الكرة ترتد عن المضرب:

  1. اربط body_entered بـ _on_body_entered في _ready.
  2. عندما يكون اسم الجسم Paddle، اضبط velocity.x على (position.x - body.position.x) * 5 وvelocity.y على -abs(velocity.y).

جرّب بنفسك

extends Area2D

var velocity = Vector2(110, -280)

func _physics_process(delta):
	position += velocity * delta
	if position.x < 8 or position.x > 632:
		velocity.x = -velocity.x
	if position.y < 42:
		velocity.y = -velocity.y
quiz iconاختبر نفسك

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

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

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