Я бы сделал это в cocos2d.
Я бы создал класс 'Вагон', а затем начал бы с инициации двух из них (только потому, что я думаю, что два вагона заполнят экран).А потом начинайте движение вагонов.Каждый раз, когда вагон полностью исчезает с экрана, я отпускаю его.Когда придет время следующего вагона, я начну это и так далее.
Сколько кадров имеет анимация и насколько они велики?Может быть, вам придется сделать один атлас на вагон.Вы всегда можете позвонить:
[[CCTextureCache sharedTextureCache] removeUnusedTextures];
и:
[[CCSpriteFrameCache sharedSpriteFrameCache] removeUnusedSpriteFrames];