我不擅长数学(我从来没有),我有一个问题:我试图让精灵始终旋转到鼠标光标。这是我有:角度的方向
// mx is mouse X and my is mouse y
double rotate = (atan2(my, mx) * PI);
// Set rotation takes rotation in degrees
ship.SetRotation(rad2deg(rotate));
哪里deg2rad
功能是:
double rad2deg(double rad)
{
double deg = 0;
deg = rad * (180/M_PI);
return deg;
}
遗憾的是它不工作。这艘船旋转很怪异(很难定义)。我不知道要解决这个问题。
我正在研究SFML,SetRotation
需要度数。
在此先感谢。
你为什么要抛出浮动并分配给双? – 2011-05-16 11:54:10
您确定SetRotation期望程度而不是弧度? – AProgrammer 2011-05-16 11:54:27
哪个框架具有接受度数的setRotation?呸。 MX和我的相对于船的位置?您可能需要手动检查他们的标志,以便在他们都是负面的情况下处理这种情况 - 当他们都返回正面时,您会计算角度。 – Rup 2011-05-16 11:55:12