def run(self): self.clock.tick(self.fps) for event in pygame.event.get(): for group in self.groups: for sprite in group: sprite.doEvent(event) self.doEvent(event) """ Handle event return """ if event.type == pygame.QUIT: self.retval = self.ON_QUIT elif event.type == pygame.KEYDOWN: self.retval = self.ON_KEYDOWN elif event.type == pygame.KEYUP: self.retval = self.ON_KEYUP elif event.type == pygame.MOUSEBUTTONDOWN: self.retval = self.ON_MOUSEDOWN elif event.type == pygame.MOUSEMOTION: self.retval = self.ON_MOUSEMOTION elif event.type == pygame.MOUSEBUTTONUP: self.retval = self.ON_MOUSEUP self.update() for group in self.groups: group.update() group.clear(self.screen, self.background) group.draw(self.screen) """ Handle fade in and out effect """ if (self.fadeState == self.FADE_IN): self.fadeAlpha -= self.FADE_SPEED if (self.fadeAlpha == self.FADE_ALPHA_MIN): self.fadeState = self.FADE_NONE elif (self.fadeState == self.FADE_OUT): self.fadeAlpha += self.FADE_SPEED if (self.fadeAlpha == self.FADE_ALPHA_MAX): self.fadeState = self.FADE_NONE """ Termiante scene if fade terminate is set, thus ending scene on fade out """ if (self.fadeTerminate): self.retval = self.ON_TERMINATE self.fadeBackground.set_alpha(self.fadeAlpha) self.screen.blit(self.fadeBackground, (0,0)) pygame.display.flip() return self.retval
def run(self): self.clock.tick(self.fps) for event in pygame.event.get(): for group in self.groups: for sprite in group: sprite.doEvent(event) self.doEvent(event) """ Handle event return """ if event.type == pygame.QUIT: self.retval = self.ON_QUIT elif event.type == pygame.KEYDOWN: self.retval = self.ON_KEYDOWN elif event.type == pygame.KEYUP: self.retval = self.ON_KEYUP elif event.type == pygame.MOUSEBUTTONDOWN: self.retval = self.ON_MOUSEDOWN elif event.type == pygame.MOUSEMOTION: self.retval = self.ON_MOUSEMOTION elif event.type == pygame.MOUSEBUTTONUP: self.retval = self.ON_MOUSEUP self.update() for group in self.groups: group.update() group.clear(self.screen, self.background) group.draw(self.screen) """ Handle fade in and out effect """ if (self.fadeState == self.FADE_IN): self.fadeAlpha -= self.FADE_SPEED if (self.fadeAlpha == self.FADE_ALPHA_MIN): self.fadeState = self.FADE_NONE elif (self.fadeState == self.FADE_OUT): self.fadeAlpha += self.FADE_SPEED if (self.fadeAlpha == self.FADE_ALPHA_MAX): self.fadeState = self.FADE_NONE """ Termiante scene if fade terminate is set, thus ending scene on fade out """ if (self.fadeTerminate): self.retval = self.ON_TERMINATE self.fadeBackground.set_alpha(self.fadeAlpha) self.screen.blit(self.fadeBackground, (0, 0)) pygame.display.flip() return self.retval
def run(self): self.clock.tick(self.fps) for event in pygame.event.get(): for group in self.groups: for sprite in group: sprite.doEvent(event) if event.type == pygame.QUIT: self.retval = self.ON_QUIT elif event.type == pygame.KEYDOWN: self.retval = self.ON_KEYDOWN elif event.type == pygame.KEYUP: self.retval = self.ON_KEYUP elif event.type == pygame.MOUSEBUTTONDOWN: self.retval = self.ON_MOUSEDOWN elif event.type == pygame.MOUSEMOTION: self.retval = self.ON_MOUSEMOTION elif event.type == pygame.MOUSEBUTTONUP: self.retval = self.ON_MOUSEUP self.update() for group in self.groups: group.clear(self.screen, self.background) group.update() group.draw(self.screen) """ Handle sprite objects """ for sprite in group: try: sprite.rect.x += sprite.dx sprite.rect.y += sprite.dy except: continue pygame.display.flip() return self.retval