Menu
CoddyTech

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.

challenge icon

Wyzwanie

Łatwy

Spraw, by bohater skakał.

  1. Między wierszem z grawitacją a move_and_slide() dodaj instrukcję if dla Input.is_action_just_pressed("jump").
  2. W jej wnętrzu ustaw velocity.y na jump_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

Poćwicz samodzielnie: Edytor online Godot