Математика с 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 пикселей в секунду.
Задание
ЛегкоВыведи фактическую скорость робота, а затем заставь его лететь.
- В
_ready()выведи"Speed: "и длинуvelocityс помощью.length(). - В
_process()перемещай робота со скоростьюvelocityв секунду, используяdelta.
Нажми «Играть»: в консоли отобразится Speed: 150.0, и робот полетит вверх и вправо. Затем нажми «Проверить».
Попробуйте сами
extends Node2D
var velocity = Vector2(120, -90)
func _ready():
pass
func _process(delta):
pass
Все уроки раздела Узлы и сцены
3Настраиваемые значения
Переменные узлаКонстантыЭкспортируемые переменныеМатематика с Vector2Зацикливание по экрануСвои функцииПотренируйтесь самостоятельно: Песочница Godot