القفز المتغير
جزء من قسم الإدخال والحركة في رحلة 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 أن البطل لا يزال يصعد. ومن دون هذا الشرط، سيؤدي تحرير المفتاح أثناء الهبوط إلى إبطاء السقوط.
اضغط باستمرار على المفتاح إلى ما بعد قمة القفزة، ولن يتم إيقافها.
التحدي
متوسطاجعل الضغطة السريعة على زر القفز تُحدث قفزة صغيرة.
- بعد جملة
ifالخاصة بالقفز، أضف جملةifللشرطInput.is_action_just_released("jump")وvelocity.y < 0. - داخلها، اقسم
velocity.yعلى 2.
اضغط على «العب»: فالضغط السريع على مفتاح المسافة يُحدث قفزة قصيرة، بينما يؤدي الضغط عليه باستمرار إلى قفزة كاملة. ثم اضغط على «تحقق».
جرّب بنفسك
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