Menu
CoddyTech

Uruchamianie silnika

Część sekcji Projekty ścieżki Godot w Coddy. Lekcja 11 z 33.

Przycisk w górę uruchamia silnik i popycha statek w kierunku, w którym wskazuje jego dziób. Vector2.UP to (0, -1). rotated(rotation) obraca ten wektor o taki sam kąt, o jaki obrócił się statek:

if Input.is_action_pressed("move_up"):
	velocity += Vector2.UP.rotated(rotation) * THRUST * delta
position += velocity * delta

Silnik zmienia prędkość, a nie pozycję. Gdy puścisz przycisk w górę, statek nadal dryfuje. Aby się zatrzymać, obróć się i uruchom silnik w przeciwnym kierunku.

Statek ma ukryty węzeł potomny Flame. Wyświetl go, gdy silnik pracuje: $Flame.visible = Input.is_action_pressed("move_up").

challenge icon

Wyzwanie

Średni
  1. Dodaj const THRUST = 300.
  2. Gdy przycisk Up jest wciśnięty, dodaj Vector2.UP.rotated(rotation) * THRUST * delta do velocity statku.
  3. Przesuwaj statek o velocity * delta w każdej klatce, niezależnie od tego, czy przycisk jest wciśnięty.
  4. Pokazuj $Flame tylko wtedy, gdy przycisk Up jest wciśnięty.

Spróbuj swoich sił

extends CharacterBody2D

const TURN_SPEED = 4.0

func _physics_process(delta):
	rotation += Input.get_axis("move_left", "move_right") * TURN_SPEED * delta
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Projekty

Poćwicz samodzielnie: Edytor online Godot