我正在制作一个有很多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);
}
由于
答案 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。