Public Group

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

This topic is 2482 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

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

##### Share on other sites
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?

##### Share on other sites

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

##### Share on other sites
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

##### Share on other sites
Ah good you found the answer ^^
Sry didnt have time to answer on that earlier.

• 12
• 9
• 13
• 41
• 15