Menu
CoddyTech

القفز إلى الأعلى

جزء من قسم الإدخال والحركة في رحلة Godot على Coddy. الدرس 13 من 28.

للقفز، عيّن velocity.y إلى سرعة كبيرة نحو الأعلى في الإطار الذي يضغط فيه اللاعب على jump. الاتجاه إلى الأعلى يعني قيمة y أصغر، لذا يكون الرقم سالبًا:

var jump_velocity = -500

func _physics_process(delta):
	velocity.y += gravity * delta
	if Input.is_action_just_pressed("jump"):
		velocity.y = jump_velocity
	move_and_slide()

لا تكتب تعليمات الحركة إلى الأسفل. تواصل الجاذبية إضافة قيمة إلى velocity.y، فيتباطأ البطل أثناء صعوده، ويتوقف عند القمة ثم يسقط مجددًا.

استخدم is_action_just_pressed، وليس is_action_pressed. سيؤدي الاستمرار في الضغط على المفتاح إلى ضبط السرعة على -500 في كل إطار، وسيطير البطل خارج الشاشة.

challenge icon

التحدي

سهل

اجعل البطل يقفز.

  1. بين سطر الجاذبية وmove_and_slide()، أضف if للتحقق من Input.is_action_just_pressed("jump").
  2. داخله، عيّن velocity.y إلى jump_velocity.

اضغط على «العب» ثم اضغط على مفتاح المسافة: يقفز البطل ثم يهبط مجددًا، ولا يؤدي الاستمرار في الضغط على مفتاح المسافة إلى جعله يطير. ثم اضغط على «تحقق».

جرّب بنفسك

extends CharacterBody2D

var gravity = 1000
var jump_velocity = -500

func _physics_process(delta):
	velocity.y += gravity * delta
	move_and_slide()

جميع دروس الإدخال والحركة

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