0

我正在制作一个有很多 hitspark 的格斗游戏,但我不知道如何制作一个元素列表来绘制多个 hitspark(到目前为止,屏幕上只能有一个 hitspark)。我知道存在 List 的东西,但我真的不知道如何使用它。这是我现在处理 hitspark 的方法。

    AnimationElement HitElement;
    private Preparationanimation Hit4;

 public override void  LoadContent()
 {
        HitElement = new AnimationElement();
        Hit4 = new Preparationanimation(SpriteSheetElements1, new Color(255, 255, 255, 128), 1f, false)
 }

 if (IntersectPixels(Player1.HitboxAtt, Player1.playerTextureData, Player2.Hitbox, Player2.playerTextureData))
 {
        HitElement.PlayAnimation(Hit4, content);
 }

 public override void Draw(GameTime gameTime)
 {
         HitElement.Draw(spriteBatch, gameTime, positionElement, false, true);
 }

谢谢

4

1 回答 1

1
List<AnimationElement> HitElements;
private Preparationanimation Hit4;

 public override void LoadContent()
 {
        HitElements = new List<AnimationElement>();
        Hit4 = new Preparationanimation(SpriteSheetElements1, new Color(255, 255, 255, 128), 1f, false)
 }

 if (IntersectPixels(Player1.HitboxAtt, Player1.playerTextureData, Player2.Hitbox, Player2.playerTextureData))
 {
     foreach (AnimationElement a in HitElements)
     {
       a.PlayAnimation(Hit4, content);
     }
 }

 public override void Draw(GameTime gameTime)
 {
     foreach (AnimationElement a in HitElements)
     {
         a.Draw(spriteBatch, gameTime, positionElement, false, true);
     }

 }

您需要多个对象的列表。您可以使用 HitElements.Add 添加。另外为什么在你的代码中间有一个 If 语句?

更多信息可以在这里找到。

于 2012-07-02T12:39:04.767 回答