القفز المتغير
جزء من قسم الإدخال والحركة في رحلة Godot على Coddy. الدرس 16 من 28.
في معظم ألعاب المنصات، تؤدي الضغطة السريعة إلى قفزة صغيرة، بينما يؤدي الضغط المستمر على الزر إلى قفزة كاملة.
لتحقيق ذلك، أوقف القفزة عند تحرير الزر. تكون Input.is_action_just_released("jump") صحيحة في الإطار الوحيد الذي يرتفع فيه الإصبع عن المفتاح. إذا كان البطل لا يزال يصعد حينها، فاقسم سرعته إلى الأعلى على اثنين:
if Input.is_action_just_released("jump") and velocity.y < 0:
velocity.y = velocity.y / 2تعني velocity.y < 0 أن البطل لا يزال يصعد. من دون هذا الشرط، سيؤدي تحرير المفتاح أثناء الهبوط إلى إبطاء السقوط.
إذا واصلت الضغط على المفتاح حتى تجاوز قمة القفزة، فلن يتم إيقافها.
التحدي
متوسطاجعل الضغط القصير على jump قفزة صغيرة. عندما يُترك المفتاح بينما لا يزال البطل يرتفع، اقسم velocity.y على اثنين. أما الاستمرار في الضغط على المفتاح فيؤدي إلى القفزة الكاملة.
جرّب بنفسك
extends CharacterBody2D
var speed = 220
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocity
velocity.x = Input.get_axis("move_left", "move_right") * speed
move_and_slide()
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الإدخال والحركة
3الجاذبية والقفز
السقوط بفعل الجاذبيةالقفز إلى الأعلىمن الأرضية فقطالجري والقفزالقفز المتغيرالقفزة المزدوجةتدرّب بنفسك: Playground لـ Godot