我搞砸了XNA中的一些东西,我试图移动一个小行星式周围的物体,因为你按左右旋转和向上/向下以向前和向后的方向前进指向。XNA Vector2旋转问题
我已经完成了精灵的旋转,但我无法让对象沿着您指向的方向移动,它总是在x = 0轴上上下移动。
我猜这是直接的,但我无法弄清楚。我的“船”类具有以下性能,这是值得记在这里:
Vector2 Position
float Rotation
“船”类有一个更新的方法是其中输入被处理,到目前为止,我有以下几点:
public void Update(GameTime gameTime)
{
KeyboardState keyboard = Keyboard.GetState();
GamePadState gamePad = GamePad.GetState(PlayerIndex.One);
float x = Position.X;
float y = Position.Y;
if (keyboard.IsKeyDown(Keys.Left)) Rotation -= 0.1f;
if (keyboard.IsKeyDown(Keys.Right)) Rotation += 0.1f;
if (keyboard.IsKeyDown(Keys.Up)) ??;
if (keyboard.IsKeyDown(Keys.Down)) ??;
this.Position = new Vector2(x, y);
}
任何帮助将不胜感激!
好的。这是更合适的方式,因为它正在使用您正在使用的API提供的类库。很高兴听到你解决它 – CDSO1 2010-04-21 13:03:28