我正在XNA开发一款简单的射击游戏。每当它遇到敌对时,我都会将对象的副本添加到数组列表中。问题是,该对象被添加了2次。
以下是代码:
- >玩家射击球。
- > s是烧球
- > sp是s的副本
- >如果它是活动的,则绘制一个球体
if(s.isCollided)
{
s.isCollided = false;
Sphere sp = new Sphere(s.texture, new Vector2(s.dest_rectangle.X,s.dest_rectangle.Y), s.speed);
s.dest_rectangle = new Rectangle((int)s.position.X, (int)s.position.Y, s.texture.Width, s.texture.Height);
sp.isActive = true;
sp.isCollided = false;
collidedSpheres.Add(sp);
}
答案 0 :(得分:1)
s
可能会在两个“框架”中与你的敌人发生碰撞。
您可以尝试将此行添加到功能的末尾:spheres.Remove(s);
。
重复的球体是否具有相同的位置?