Xna 如何制作跳跃精灵

Xna 如何制作跳跃精灵,xna,2d,Xna,2d,我正在为一个学校项目制作一个巨型克隆人,我刚刚完成了让我的角色跳跃的代码,它工作得非常完美。但我需要它来展示真正的超人跳跃精灵。这是Game1中的全部代码: 动画精灵jt帮助您决定方向并显示精灵。现在它是否有效并不重要。这只是开始。当我开始做更复杂的事情时,我会去做。 MegamanJump具有跳跃精灵(从左到右显示5或6个精灵) MegamanJump_Flip是同样的东西,但在左边(同样,忘记效率)。基本上,您希望根据移动方向或移动方向+跳跃,将当前可绘制的精灵与要绘制的精灵切换 由于您已经

我正在为一个学校项目制作一个巨型克隆人,我刚刚完成了让我的角色跳跃的代码,它工作得非常完美。但我需要它来展示真正的超人跳跃精灵。这是Game1中的全部代码: 动画精灵jt帮助您决定方向并显示精灵。现在它是否有效并不重要。这只是开始。当我开始做更复杂的事情时,我会去做。 MegamanJump具有跳跃精灵(从左到右显示5或6个精灵)
MegamanJump_Flip是同样的东西,但在左边(同样,忘记效率)。

基本上,您希望根据移动方向或移动方向+跳跃,将当前可绘制的精灵与要绘制的精灵切换

由于您已经有了一个正在运行的update方法,所以您所要做的就是编写另一个方法来为您执行此操作,一个状态变量来跟踪正在发生的事情以及它可以拥有的实际状态,为了清晰起见,最好是在枚举中

本质上

private void swapSprite() {
   if(state == CharacterState.LEFT) {
     sprite = leftDrawable;
   }
   //etc other single ifs
   if(state == CharacterState.LEFTJUMPING) {
     sprite = leftJumpDrawable;
   }
}
更改按键组合的状态,检查移动后调用此方法


我希望这有帮助

我可以补充一点,你不一定需要一个单独的精灵为每个方向。绘制精灵时只需使用SpriteEffect.FlipHorizontal:)是的,我知道我的角色类中有它,但我需要做很多更改。我只是在赶时间,所以我尽可能地用最愚蠢和最简单的方式来做。我知道我应该对所有事情使用enum,但这不是我需要的。它根本不吸引跳跃精灵。如果你按向上,站立精灵会上升,然后向下返回,如果你按向上,向左或向右,也是一样。