我去过这个网站试图整理我的汽车运动。http://www.helixsoft.nl/articles/circle/sincos.htm
由于我使用过的 sin 和 cos,我一直在将汽车绕一圈移动时遇到问题,尽管该站点确实使用定点数并且我想使用浮点数,但我认为我已经正确完成了。
这是我的代码
if(myEngine->KeyHeld(Key_W))
{
length -= carSpeedIncrement;
}
if(myEngine->KeyHeld(Key_S))
{
length += carSpeedIncrement;
}
if(myEngine->KeyHeld(Key_A))
{
angle -= 0.01f;
}
if(myEngine->KeyHeld(Key_D))
{
angle += 0.01f;
}
carVolocityX = length * (sin(angle));
carVolocityZ = length * (cos(angle));
carPositionX += carVolocityX;
carPositionZ += carVolocityZ;
car[0]->MoveX((carPositionX * sin(angle)) * frameTime);
car[0]->MoveZ((carPositionZ * cos(angle)) * frameTime);
我对如何做这个动作的新想法持开放态度,但它必须使用向量。任何人都可以看到我在哪里出错了。
任何帮助表示赞赏。