我正在用XNA构建我的第一场比赛,我试图让我的精灵运行。 一切工作正常,为第一个精灵。 例如:如果我向右转(D)我的精灵看起来是正确的,如果我离开(A)我的精灵向左看,如果我没有碰到任何东西,我的精灵是默认的。 现在我想要做的是如果精灵去右,我想要或者改变精灵(左腿,右腿,左腿等)。x当前是当前精灵绘制xRunRight是第一次运行的精灵和xRunRight1是在运行时必须与xRunRight进行交换。 这是我现在有:做一个基本的运行精灵效果
protected override void Update(GameTime gameTime)
{
float timer = 0f;
float interval = 50f;
bool frame1 = false ;
bool frame2 = false;
bool running = false;
KeyboardState FaKeyboard = Keyboard.GetState();
// Allows the game to exit
if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
if ((FaKeyboard.IsKeyUp(Keys.A)) || (FaKeyboard.IsKeyUp(Keys.D)))
{
xCurrent = xDefault;
}
if (FaKeyboard.IsKeyDown(Keys.D))
{
timer += (float)gameTime.ElapsedGameTime.TotalMilliseconds;
if (timer > interval)
{
if (frame1)
{
xCurrent = xRunRight;
frame1 = false;
}
else
{
xCurrent = xRunRight1;
frame1 = true;
}
}
xPosition += xDeplacement;
}
任何想法...?我一直坚持这一段时间.. 在此先感谢,让我知道如果你需要从代码中的任何其他部分。
我知道帧1,帧2和(定时器>间隔)逻辑不起作用,但它是我意识到它不起作用之前所处的位置。 – phadaphunk