Forward/Backward motion [Directx 10][C++]

Started by
3 comments, last by Idono87 12 years, 8 months ago
hello

i want to make the movement in my game so that it moves forward, turns a bit, and moves forward, like a ship

this is my own attempt:


SpeedZ = 0.2;
SpeedX = tan(angle)*0.2;
if(fmod(RadToDeg(angle),360) < -90 || fmod( RadToDeg(angle),360) >90)
{
SpeedZ = -0.2;
SpeedX = tan(angle)*-0.2;
}
if (fmod(RadToDeg(angle),360) < -270 || fmod(RadToDeg(angle),360) >270)
{
SpeedZ = 0.2;
SpeedX = tan(angle)*0.2;
}




the problem with this is that when it moves along the X-axis, it goes too fast, and if it moves along the Z-axis it goes too slow
Advertisement
Let me see if i understand. You want your object to have a set speed when it moves forward and turn at the same time?
Meaning that if given enough time it can go around in circles?
Idono! That's me!

Let me see if i understand. You want your object to have a set speed when it moves forward and turn at the same time?
Meaning that if given enough time it can go around in circles?


yes, it should always move in the same direction as its front
always when I have no ideas i find the solution.
I had no idea, so this is the solution that i found, it is working perfect:



SpeedX = sin(angle)*Speed;
SpeedZ = cos(angle)*Speed;




thanks for all your time and effort
Ah good you found the answer ^^
Sry didnt have time to answer on that earlier.
Idono! That's me!

This topic is closed to new replies.

Advertisement