קפיצה משתנה
חלק מהיחידה קלט ותנועה במסלול ה-Godot של Coddy. שיעור 16 מתוך 28.
ברוב משחקי הפלטפורמה, לחיצה קצרה גורמת לקפיצה קטנה, והחזקה של הכפתור גורמת לקפיצה מלאה.
כדי לעשות זאת, קצרו את הקפיצה כשהכפתור משתחרר. Input.is_action_just_released("jump") הוא true בפריים היחיד שבו המקש משתחרר. אם הגיבור עדיין עולה באותו רגע, חלקו את מהירותו כלפי מעלה בשניים:
if Input.is_action_just_released("jump") and velocity.y < 0:
velocity.y = velocity.y / 2velocity.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()
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה קלט ותנועה
5פרויקט: גיבור במשחק פלטפורמה
גיבור: ריצהגיבור: קפיצהתרגלו בעצמכם: Godot אונליין