我是Godot引擎的新手。我想做一个太空射击游戏,遇到了一个小问题。我正在用这个代码移动我的飞船。
if button_up.is_pressed():`
velocity += Vector2(acceleration, 0).rotated(rotation + deg2rad(-90))
move_and_slide(velocity)
我让它移动到它所指向的地方,效果很好。但是当我移动到1和89,91和179等之间的度数时,velocity.x和velocity.y一直上升,直到达到max_speed,这导致我的飞船直接移动45,135,225或315度,而不是它指向的地方。这可能吗?
先谢谢你,请原谅我的英语不好。
在move_and_slide之前,做 velocity = velocity.clamped(max_speed)
如果小于最大值,这不会有任何影响,但如果超过最大值,则会将其设置为最大值。