根据旋转移动对象

问题描述 投票:-1回答:2

我试图让图像向前移动,因为它的旋转存储为弧度,从度数转换(bottomRotation)。

到目前为止我所拥有的是找回我这样做的位置:

double rotation = bottomRotation * (3.14159 / 180);
posX += speed * cos(rotation);
posY += speed * sin(rotation);

我的问题是图像垂直于弧度移动。

c++ allegro5
2个回答
-2
投票

尝试

double rotation = bottomRotation * (3.14159 / 270);

如果这不起作用(或者你向相反的方向移动),请尝试90。


0
投票

如果您的物体垂直于您感知到的旋转,那么您的角度将超过2。这可能是通过在调用atan2时交换d x和d y引起的。

© www.soinside.com 2019 - 2024. All rights reserved.