| Poster | : Anonymous | | Posts | : | | Country | : | | City | : |
| | | | Posted by Anonymous on 13/08/2012 at 15:49:46
| | private void ProcessKeyboard(GameTime gameTime)
{
float leftRightRot = 0;
float turningSpeed = (float)gameTime.ElapsedGameTime.TotalMilliseconds / 1000.0f;
turningSpeed *= 1.6f * gameSpeed;
KeyboardState keys = Keyboard.GetState();
if (keys.IsKeyDown(Keys.Right))
leftRightRot += turningSpeed;
if (keys.IsKeyDown(Keys.Left))
leftRightRot -= turningSpeed;
float upDownRot = 0;
if (keys.IsKeyDown(Keys.W))
upDownRot += turningSpeed;
if (keys.IsKeyDown(Keys.S))
upDownRot -= turningSpeed;
float leftrightRot = 0;
if (keys.IsKeyDown(Keys.A))
leftrightRot += turningSpeed;
if (keys.IsKeyDown(Keys.D))
leftrightRot -= turningSpeed;
Quaternion additionalRot = Quaternion.CreateFromAxisAngle(new Vector3(0, 0, -1), leftRightRot) * Quaternion.CreateFromAxisAngle(new Vector3(1, 0, 0), upDownRot) * Quaternion.CreateFromAxisAngle(new Vector3(0, 1, 0), leftrightRot);
xwingRotation *= additionalRot;
if (keys.IsKeyDown(Keys.Up))
{
float moveSpeed = gameTime.ElapsedGameTime.Milliseconds / 500.0f * gameSpeed*50;
MoveForward(ref xwingPosition, xwingRotation, moveSpeed);
}
if (keys.IsKeyDown(Keys.Down))
{
float moveSpeed = gameTime.ElapsedGameTime.Milliseconds / 500.0f * gameSpeed*50;
MoveForward(ref xwingPosition, xwingRotation, -moveSpeed);
}
} | |
|
|