I got here too late for the self answer, but I wanted to add: In case you haven't heard of pygame Sprite()'s Depending on what you're' doing, it might be more usefulll to derive pygame.sprite.Sprite() [ which is a Surface, and Rect ] But also allows you to use sprite groups. ] You can think of them to be similar to shared pointers, in that if the sprite is in any group, it stays alive, since there is a reference to it.
http://www.pygame.org/docs/tut/SpriteIntro.html http://www.sacredchao.net/~piman/writing/sprite-tutorial.shtml -- Jake