我正在制作一款基于XNA游戏开发教程游戏“射击游戏”的小游戏...经过一些试验和错误后,我制作了自己的动画精灵,我可以在屏幕上移动。问题是,他总是面临正确的。
如何更改此图片(下图),以便每次按下按键事件时他都面向正确的方向?!
我对C#很陌生,你可能已经猜到了,我意识到这可能比我想象的要复杂得多,所以我只需要知道当他向左移动时左右移动时如何使精灵面朝右
提前谢谢。
答案 0 :(得分:5)
您也可以将SpriteEffects.FlipHorizontally
选项传递给SpriteBatch.Draw()
方法。但正如其他人所说,这将比使用精灵表更有开销。
答案 1 :(得分:2)
通常精灵表将包含每个方向的图像。您可以在运行时翻转图像,但它会添加不必要的图像处理。我建议您只需创建一个精灵表,每个动画都会被烘焙,然后找出要在运行时显示的帧。
答案 2 :(得分:0)
SpriteEffects s = SpriteEffects.FlipHorizontally;
int smX = 200; //smx is the 'x' coordinates.
public void runChar()
{
if (Keyboard.GetState().IsKeyDown(Keys.Left))
{
smX -= 2;
s = SpriteEffects.FlipHorizontally;
//oposite direction.
}
else if (Keyboard.GetState().IsKeyDown(Keys.Right))
{
smX += 2;
s = SpriteEffects.None;
//original direction.
}
}
spriteBatch.Draw(sM, new Rectangle(smX, 200, 100, 100), null, Color.White, rotation, new Vector2(50, 50), s, 0f);
这将“翻转”。纹理左右。