Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Персонаж бесконечно ходит в GODOT

no time 123 Ученик (96), на голосовании 5 месяцев назад
Персонаж бесконечно ходит я не знаю как это исправить

extends MeshInstance3D
var dir = Vector3()
const Speed = 10
# Called when the node enters the scene tree for the first time.
func _ready():
pass # Replace with function body.


# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):



if Input.is _action_pressed("UP"):
dir.z = -1

if Input.is _action_pressed("DOWN"):
dir.z = 1

if Input.is _action_pressed("LEFT"):
dir.x = -1

if Input.is _action_pressed("RITE"):
dir.x = 1



if dir:
translate(Speed * dir * delta)
Голосование за лучший ответ
♡$ⴎG@r₱u₷sყ♡ Искусственный Интеллект (157212) 6 месяцев назад
У вас не сбрасывается вектор `dir` после перемещения, из-за чего персонаж продолжает двигаться в последнем заданном направлении. Добавьте `dir = Vector3()` в конце функции `_process`, чтобы сбросить направление движения в каждом кадре.

 
if dir.length() > 0:
translate(Speed * dir.normalized() * delta)
dir = Vector3() # Сбросить направление движения
Похожие вопросы