def draw(self, view): view.setCamera(self.camera) self.camera.viewport = Rectangle((self._ax / view._window.width, self._ay / view._window.height), (self._w / view._window.width, self._h / view._window.height)) self.clearDrawList() self.updateDrawList() for layer in self.drawList: for sprite in layer: view.drawSprite(sprite) view.resetCamera() NGUIBase.draw(self, view)
def __init__(self, x, y, w, h, world): NGUIBase.__init__(self, x, y, w, h) self.ratio = self._w / self._h self._world = world self.camera = Camera() self.camera.reset(Rectangle((0, 0), (self.ratio*GameView.DEFAULT_VIEW_HEIGHT, GameView.DEFAULT_VIEW_HEIGHT))) self.clearDrawList() self._views = [] self.entityToViewName = {} # Stores viewnames to construct views when entities are created self.entityToView = {} # Stores the actual views for actual entities # Make sure that removed entities are truly removed. self._world._em.registerListener(Event.ENTITY_REMOVED, self.entityRemoved, [])