Menu
CoddyTech

Математика с Vector2

Часть раздела Узлы и сцены путешествия по Godot на Coddy. Урок 16 из 28.

С помощью Vector2 можно выполнять математические операции. При сложении двух векторов складываются значения x и значения y:

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

При умножении на число умножаются обе координаты: Vector2(100, 50) * 2 — это (200, 100). Так работает velocity * delta.

Длина вектора — это расстояние, на которое он простирается по прямой. Её можно вычислить с помощью .length():

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

Для вектора скорости длина — это фактическая скорость. Робот, который каждую секунду перемещается на 120 пикселей вправо и на 90 вверх, преодолевает 150 пикселей в секунду.

challenge icon

Задание

Легко

Выведи фактическую скорость робота, а затем заставь его лететь.

  1. В _ready() выведи "Speed: " и длину velocity с помощью .length().
  2. В _process() перемещай робота со скоростью velocity в секунду, используя delta.

Нажми «Играть»: в консоли отобразится Speed: 150.0, и робот полетит вверх и вправо. Затем нажми «Проверить».

Попробуйте сами

extends Node2D

var velocity = Vector2(120, -90)

func _ready():
	pass

func _process(delta):
	pass

Все уроки раздела Узлы и сцены

Потренируйтесь самостоятельно: Песочница Godot