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

القفز المتغير

جزء من قسم الإدخال والحركة في رحلة 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 أن البطل لا يزال يصعد. من دون هذا الشرط، سيؤدي تحرير المفتاح أثناء الهبوط إلى إبطاء السقوط.

إذا واصلت الضغط على المفتاح حتى تجاوز قمة القفزة، فلن يتم إيقافها.

challenge icon

التحدي

متوسط

اجعل الضغط القصير على 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()
quiz iconاختبر نفسك

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

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

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