Right now I have everything in place, but I'm trying to make it so that pipes objects that go off the screen get deleted and a new pipe is generated behind the one in front of you. So a drawing would look like this, where the objects inside the square brackets represent the screen.
(pipe gets deleted) [[[(bird)---><---(pipe) <---(pipe)]]] <---(pipe gets created)
At any given time, two pipes are visible on the screen. The one that leaves gets deleted, and another gets created.
The problem I'm having is that all of the pipes are in the same iterator, so if I want to delete one, I have to delete all. So, the pipes that are still on the screen get deleted as well, whereas I only want to delete the one that came off the screen.
Iterators don't remove everything.