Original Post
Hi!
This is my function for moving in a 3d scene.
HRESULT GetKeyPress(void)
{
if(GetAsyncKeyState(VK_RIGHT))
{
sPlayer.Angle = sPlayer.Angle - 0.05f;
sPlayer.lx = sPlayer.x + cosf(sPlayer.Angle);
sPlayer.lz = sPlayer.z + sinf(sPlayer.Angle);
}
if(GetAsyncKeyState(VK_LEFT))
{
sPlayer.Angle = sPlayer.Angle + 0.05f;
sPlayer.lx = sPlayer.x - cosf(sPlayer.Angle);
sPlayer.lz = sPlayer.z - sinf(sPlayer.Angle);
}
if(GetAsyncKeyState(VK_UP))
{
sPlayer.x = sPlayer.x + cosf(sPlayer.Angle)*(sPlayer.MoveRate);
sPlayer.z = sPlayer.z + sinf(sPlayer.Angle)*(sPlayer.MoveRate);
}
if(GetAsyncKeyState(VK_DOWN))
{
sPlayer.x = sPlayer.x - cosf(sPlayer.Angle)*(sPlayer.MoveRate);
sPlayer.z = sPlayer.z - sinf(sPlayer.Angle)*(sPlayer.MoveRate);
}
return S_OK;
}
I can turn around allright though when trying to move in any direction it gets all screwed up. Do you see what the heck I´ve done wrong? Any help apprectiated.