קפיצה משתנה
חלק מהיחידה קלט ותנועה במסלול ה-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 פירושו שהגיבור עדיין עולה. בלעדיו, שחרור המקש בדרך למטה יאט את הנפילה.
החזיקו את המקש עד אחרי שיא הקפיצה, והקפיצה לא תקוצר.
אתגר
בינוניהפכו לחיצה קצרה על מקש הקפיצה לדילוג קטן.
- אחרי ה־
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()
כל השיעורים ביחידה קלט ותנועה
5פרויקט: גיבור במשחק פלטפורמה
גיבור: ריצהגיבור: קפיצהתרגלו בעצמכם: Godot אונליין