Skok w górę
Część sekcji Wejście i ruch ścieżki Godot w Coddy. Lekcja 13 z 28.
Aby skoczyć, ustaw velocity.y na dużą prędkość skierowaną w górę w klatce, w której gracz naciska jump. Kierunek w górę oznacza mniejsze y, więc liczba jest ujemna:
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump"):
velocity.y = jump_velocity
move_and_slide()Nie musisz kodować ruchu w dół. Grawitacja stale zwiększa velocity.y, więc bohater zwalnia podczas wznoszenia, zatrzymuje się na szczycie i opada.
Użyj is_action_just_pressed, a nie is_action_pressed. Przytrzymany klawisz ustawiałby prędkość na -500 w każdej klatce, przez co bohater wyleciałby poza ekran.
Wyzwanie
ŁatwySpraw, by bohater skakał.
- Między wierszem z grawitacją a
move_and_slide()dodaj instrukcjęifdlaInput.is_action_just_pressed("jump"). - W jej wnętrzu ustaw
velocity.ynajump_velocity.
Naciśnij „Graj” i naciśnij spację: bohater skoczy i ponownie wyląduje, a przytrzymanie spacji nie sprawi, że odleci. Następnie naciśnij „Sprawdź”.
Spróbuj swoich sił
extends CharacterBody2D
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
move_and_slide()
Wszystkie lekcje w sekcji Wejście i ruch
3Grawitacja i skakanie
Spadanie pod wpływem grawitacjiSkok w góręTylko z podłogiBieg i skokSkok o zmiennej wysokościPodwójny skokPoćwicz samodzielnie: Edytor online Godot