القفز إلى الأعلى
جزء من قسم الإدخال والحركة في رحلة 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 في كل إطار، وسيطير البطل خارج الشاشة.
التحدي
سهلاجعل البطل يقفز.
- بين سطر الجاذبية و
move_and_slide()، أضفifللتحقق منInput.is_action_just_pressed("jump"). - داخله، عيّن
velocity.yإلىjump_velocity.
اضغط على «العب» ثم اضغط على مفتاح المسافة: يقفز البطل ثم يهبط مجددًا، ولا يؤدي الاستمرار في الضغط على مفتاح المسافة إلى جعله يطير. ثم اضغط على «تحقق».
جرّب بنفسك
extends CharacterBody2D
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
move_and_slide()
جميع دروس الإدخال والحركة
3الجاذبية والقفز
السقوط بفعل الجاذبيةالقفز إلى الأعلىمن الأرضية فقطالجري والقفزالقفز المتغيرالقفزة المزدوجةتدرّب بنفسك: Playground لـ Godot