Menu
CoddyTech

Vector2-Mathematik

Teil des Abschnitts Nodes und Szenen der Godot-Journey von Coddy. Lektion 16 von 28.

Mit einem Vector2 kannst du rechnen. Beim Addieren zweier Vektoren werden die x-Werte und die y-Werte addiert:

Vector2(100, 50) + Vector2(10, 5)   # (110, 55)

Beim Multiplizieren mit einer Zahl werden beide Werte multipliziert: Vector2(100, 50) * 2 ist (200, 100). So funktioniert velocity * delta.

Die Länge eines Vektors gibt an, wie weit er in einer geraden Linie reicht. Mit .length() kannst du sie berechnen:

var step = Vector2(3, 4)
print(step.length())   # 5.0

Bei einer Geschwindigkeit entspricht die Länge der tatsächlichen Geschwindigkeit. Ein Roboter, der sich pro Sekunde 120 Pixel nach rechts und 90 Pixel nach oben bewegt, legt pro Sekunde 150 Pixel zurück.

challenge icon

Aufgabe

Einfach

Gib die tatsächliche Geschwindigkeit des Roboters aus und lass ihn dann fliegen.

  1. Gib in _ready() "Speed: " und die Länge von velocity mit .length() aus.
  2. Bewege den Roboter in _process() mithilfe von delta pro Sekunde um velocity.

Drücke auf „Spielen“: In der Konsole wird Speed: 150.0 angezeigt und der Roboter fliegt nach oben und rechts. Drücke dann auf „Prüfen“.

Probier es selbst

extends Node2D

var velocity = Vector2(120, -90)

func _ready():
	pass

func _process(delta):
	pass

Alle Lektionen in Nodes und Szenen

Übe selbstständig: Godot-Playground