Добавление объектов больше, чем в ArrayList - PullRequest
0 голосов
/ 08 ноября 2010

Я занимаюсь разработкой простой игры-шутера в XNA. Я добавляю копию объекта в список массивов всякий раз, когда он попадает во вражеского объекта. Проблема в том, что объект добавляется 2 раза.

Вот код:

-> Игрок запускает сферы.

-> Сфера сфера

-> 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);
 }

1 Ответ

1 голос
/ 08 ноября 2010

Возможно, что s сталкивается с вашим врагом в течение двух "кадров".

Вы можете попробовать добавить эту строку в конец вашей функции: spheres.Remove(s);.

Имеют ли дубликаты сферы одинаковое положение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...