البطل: الركض بسلاسة
جزء من قسم الإدخال والحركة في رحلة Godot على Coddy. الدرس 25 من 28.
تبدأ الشخصية وتتوقف في إطار واحد. اجعلها تتسارع باستخدام acceleration وتتوقف باستخدام friction:
var direction = Input.get_axis("move_left", "move_right")
if direction == 0:
velocity.x = move_toward(velocity.x, 0, friction * delta)
else:
velocity.x = move_toward(velocity.x, direction * speed, acceleration * delta)استخدم قيمة acceleration تساوي 1200 وقيمة friction تساوي 2400. تصل الشخصية إلى السرعة القصوى في نحو خُمس ثانية، لذا تظل لديها مساحة للجري عند الحفرة.
التحدي
متوسطاجعل سرعة البطل تزداد ويتوقف بسلاسة.
- أضف
var acceleration = 1200وvar friction = 2400. - خزّن المحور في
var direction. عندما لا يكون أي مفتاح مضغوطًا، حرّكvelocity.xنحو0باستخدامmove_towardبمقدارfriction * delta. - عند الضغط على مفتاح، حرّك نحو
direction * speedباستخدامmove_towardبمقدارacceleration * delta.
اضغط «العب»: تزداد سرعة البطل، وينزلق قليلًا عند التوقف، ويجتاز الحفرة. ثم اضغط «تحقق».
جرّب بنفسك
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()
جميع دروس الإدخال والحركة
5مشروع: بطل لعبة المنصات
البطل: الركضالبطل: القفزتدرّب بنفسك: Playground لـ Godot