2012-07-01 60 views
0

我正在製作一個有很多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
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

+0

感謝您的回答和此鏈接。 if語句用於顯示Hitspark何時創建。 – Pilispring

+0

我試過了。完美工作。現在有一個錯誤,其中第一Hitspark在一個奇怪的顏色,但一點爲你cyral – Pilispring

+0

我知道了,這是因爲我需要擦除元素。他們不斷相加。 – Pilispring