Форум Godot для вопросов и ответов не хочет позволять мне задавать мой вопрос, поэтому здесь мы go ^^.
Привет, поэтому я хочу, чтобы при нажатии кнопки со стрелкой вправо мой игрок (Area2D) поворачивается на 90 градусов. Однако это должно происходить не напрямую, а с определенным временем. Оно должно оставаться точно в 0 90 180 270 360 450 ... градусов. При нажатии на левую кнопку он должен двигаться на -90 градусов. В настоящее время у меня есть код:
func _process(delta):
print($Player.rotation)
if rotate_to > $Player.get_rotation_degrees():
$Player.rotate((1 * delta)) ####### $Player.rotate((1 * delta) * speed)
abc = true
elif abc == true:
abc = false
$Player.set_rotation_degrees(int($Player.get_rotation_degrees()))
elif $Player.get_rotation_degrees() >= 360.0:
$Player.set_rotation_degrees(0)
rotate_to = 0
print($Player.get_rotation_degrees())
func _input(event):
if Input.is_key_pressed(KEY_RIGHT) and not event.is_echo():
rotate_to += 90
Вот как это работает с идеальным поворотом на 90 градусов. Но как только я хочу увеличить скорость, чтобы она вращалась быстрее, потому что она очень медленная, и прямоугольник ломается. И это уже не прямо с линий.
Может кто-нибудь помочь мне это исправить?