好吧所以我写的像泡泡一样的2D游戏我有精灵我做了物理(移动,跳跃,下降到目前为止:D)我做了某种射击但现在我想制作我的玩家精灵(矩形)动画,但我不想要某种非常复杂的动画。我想要这样的东西:我有2个玩家图像右侧生物和左侧生物,图像的矩形大小完全相同,我也有:
宣布 Vector2 playerPosition
player = Content.Load<Texture2D>("PlayerRight");
中的 LoadContent
我的绘制函数中的
spriteBatch.Draw(player, playerPosition, Color.White);
所有我想要的是当我按下向右/向左 - 箭头按钮我的播放器图像之间切换 右/左面图像
我不知道什么样的代码以及我必须为该任务编写的位置。 如果您需要有关该任务的更多信息,请告诉我
答案 0 :(得分:0)
这不是最佳解决方案,但它可以给你提示。
playerRight = Content.Load<Texture2D>("PlayerRight");
playerLeft = Content.Load<Texture2D>("PlayerLeft");
playerCameraFacing = Content.Load<Texture2D>("playerCameraFacing");
在播放器类中将PlayerSprite声明为Texture2D
更新funciton伪:
PlayerSprite = playerCameraFacing ;
if key.left then PlayerSprite = playerLeft;
if key.right then PlayerSprite = playerRight;
绘制函数伪:
draw(PlayerSprite, Position, Color)
我将所有动画帧放入单张图像中,然后使用“sourceRectangle”显示它们。 what is source rectangle in spritebatch.draw in xna http://msdn.microsoft.com/en-us/library/ff433988.aspx