def addObjects(self, newDrawableObjects): for sprite in newDrawableObjects: RenderUpdates.add_internal(self, sprite) self._spritelist.insert( len(self._spritelist) - 1, [sprite, sprite.getXPos(), sprite.getYPos()])
def add_internal(self, sprite): #prevent duplication if self.spritedict.has_key(sprite): return RenderUpdates.add_internal(self, sprite) if not hasattr(sprite, 'zAxis'): #TODO: is this legal? sprite.zAxis = 0 z = sprite.zAxis if z == 0: self.orderedSprites.insert(0, sprite) else: success = 0 for i in range(len(self.orderedSprites) - 1): candidate = self.orderedSprites[i] if z < candidate.zAxis: self.orderedSprites.insert(i, sprite) success = 1 break if not success: self.orderedSprites.append(sprite)
def addObject(self, newDrawableObject): RenderUpdates.add_internal(self, newDrawableObject) self._spritelist.insert( len(self._spritelist) - 1, [ newDrawableObject, newDrawableObject.getXPos(), newDrawableObject.getYPos() ])
def add_ontop(self, ref_sprite, sprite): """ Add the sprite to the group on top ref_sprite. The sprite will be added on top of ref sprite so ref_sprite is below of it. """ RenderUpdates.add_internal(self, sprite) i = self._spritelist.index(ref_sprite) self._spritelist.insert(i, sprite) sprite.add_internal(self)
def add_below(self, ref_sprite, sprite): """ Add the sprite to the group below ref_sprite. The sprite will be added below ref sprite so ref_sprite is on top of it. """ RenderUpdates.add_internal(self, sprite) i = self._spritelist.index(ref_sprite) self._spritelist.insert(i+1, sprite) sprite.add_internal(self)
def add_internal (self, sprite): """RenderLayer.add_internal (...) -> None """ if sprite in self.spritedict: return RenderUpdates.add_internal (self, sprite) if sprite.depth == 0: self.sprite_depths.insert (0, sprite) else: success = False for i in range (len (self.sprite_depths) - 1): candidate = self.sprite_depths[i] if sprite.depth < candidate.depth: self.sprite_depths.insert (i, sprite) success = True break if not success: self.sprite_depths.append (sprite)
def add_internal( self, sprite ): RenderUpdates.add_internal( self, sprite ) center = self.bgMangr.GetDisplayCenter(sprite.rect) self.displayRects[sprite] = sprite.rect.move(0,0) #copy self.displayRects[sprite].center = center
def addObjects(self, newDrawableObjects): for sprite in newDrawableObjects: RenderUpdates.add_internal(self, sprite) self._spritelist.insert(len(self._spritelist) - 1, [sprite, sprite.getXPos(), sprite.getYPos()])
def addObject(self, newDrawableObject): RenderUpdates.add_internal(self, newDrawableObject) self._spritelist.insert(len(self._spritelist) - 1, [newDrawableObject, newDrawableObject.getXPos(), newDrawableObject.getYPos()])
def add_internal( self, sprite ): RenderUpdates.add_internal( self, sprite ) center = self.bgMangr.GetDisplayCenter(sprite.rect) sprite.displayRect.center = center
def add_internal(self, sprite): RenderUpdates.add_internal(self, sprite) center = self.bgMangr.GetDisplayCenter(sprite.rect) sprite.displayRect.center = center