Menu
CoddyTech

Uruchom silnik

Część sekcji Projekty ścieżki Godot w Coddy. Lekcja 12 z 36.

Przycisk „góra” uruchamia silnik i popycha statek w kierunku, w którym skierowany jest jego dziób. Vector2.UP to (0, -1). rotated(rotation) obraca tę strzałkę 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 położenie. Gdy puścisz przycisk „góra”, statek nadal będzie dryfował. Aby go zatrzymać, zawróć i użyj ciągu w przeciwnym kierunku.

Statek ma ukryte dziecko Flame. Pokazuj je, gdy silnik pracuje: $Flame.visible = Input.is_action_pressed("move_up").

challenge icon

Wyzwanie

Średni

Niech silnik napędza statek.

  1. Dodaj const THRUST = 300.
  2. Gdy trzymasz przycisk w górę, dodawaj Vector2.UP.rotated(rotation) * THRUST * delta do velocity.
  3. Przesuwaj statek o velocity * delta w każdej klatce, niezależnie od tego, czy trzymasz przycisk.
  4. Pokazuj $Flame tylko wtedy, gdy trzymasz przycisk w górę.

Naciśnij „Graj” i trzymaj przycisk w górę: płomień będzie się palił, a statek będzie dryfował dalej po puszczeniu przycisku. Następnie naciśnij „Sprawdź”.

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

Wszystkie lekcje w sekcji Projekty

Poćwicz samodzielnie: Edytor online Godot