Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Removing elements from vector

Name: Anonymous 2011-12-05 9:25

Hi there /prog/

I have a vector that looks like:
<code>
std::vector<Bullet> bullets;
</code>

My bullet struct contains the bullet ID, pixel data, and position.
I set the ID to bullets.size(); on creation.

Whenever a bullet is outside of the camera view, I call: (obviously inside of a loop)
<code>
bullets.erase(bullets.begin() + bullets[bi].ID);
</code>

This works pretty well, unless I spam bullets on the screen.  After a few bullets leave the screen, they all disappear.

What would be the best way to handle cleaning up my bullets?

Name: Anonymous 2011-12-05 15:22

>>1
The problem I see with using the ID value that you are, is that if I add 2 bullets to the list (IDs 0, and 1 respectively), and then the first bullet goes off screen / gets erased, then my list now has 1 single bullet with ID 2.

Are you updating each bullet's ID to its new position after you erase any others?

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List