如何创建元素列表?

时间:2012-07-01 16:24:21

标签: c# animation xna

我正在制作一个有很多hitsparks的格斗游戏,但我不知道如何制作一个元素列表来绘制多个hitspark(到现在为止,屏幕上只能有一个hitspark)。我知道列表存在但我真的不知道如何使用它。 以下是我现在处理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);
 }

由于

1 个答案:

答案 0 :(得分: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语句?

可以找到更多信息here