Lua中的二维随机方向

我想在Lua 2D中为我的精灵创建一个随机方向。

所以,我试过这个:

Sprite.x = Sprite.x + vx
Sprite.y = Sprite.y + vy

Sprite.vx = math.random(-1,1)
Sprite.vy = math.random(-1,1)

我成功地创建了一个随机方向,但是我的问题是精灵的速度直接与方向数有关。例如,如果我想速度为1,则只能有4个方向。通过将随机速度设置在-3到3之间,我创建了一个有更多方向的精灵,但是速度比我想要的快。

我该怎么办?

我看到有一些帖子讨论随机方向,但描述不是关于Lua的,所以我无法理解它。

谢谢!

点赞