From ebacb5b81ce97c0d0a8643da1bf6903935be5c08 Mon Sep 17 00:00:00 2001 From: Kevin Hockey Date: Thu, 05 Aug 2010 17:44:56 +0000 Subject: changed to auto-clean up code + fixed flip bug in old version --- diff --git a/MAFH2/fortuneengine/GameEngine.py b/MAFH2/fortuneengine/GameEngine.py index 8d9a713..09d1c4f 100644 --- a/MAFH2/fortuneengine/GameEngine.py +++ b/MAFH2/fortuneengine/GameEngine.py @@ -238,7 +238,7 @@ class GameEngine(object): if self.__showfps: text = self.__font.render('FPS: %d' % self.clock.get_fps(),False, (255, 255, 255), (159, 182, 205)) screen.blit(text, (0, 0)) - pygame.display.flip() + pygame.display.flip() def _event_loop(self): """ diff --git a/MAFH2/fortuneengine/GameEngineElement.py b/MAFH2/fortuneengine/GameEngineElement.py index 5ac757d..bdceae9 100644 --- a/MAFH2/fortuneengine/GameEngineElement.py +++ b/MAFH2/fortuneengine/GameEngineElement.py @@ -14,6 +14,9 @@ # Author: Justin Lewis from fortuneengine.GameEngine import GameEngine +from fortuneengine.DrawableFontObject import DrawableFontObject +from fortuneengine.DrawableObject import DrawableObject +from fortuneengine.DynamicDrawableObject import DynamicDrawableObject class GameEngineElement(object): @@ -35,12 +38,24 @@ class GameEngineElement(object): self.__has_event = has_event self.__in_engine = False self.game_engine = GameEngine.instance + self.__ddo_list = [] def is_in_engine(self): """ Returns true if object has been registered with the game engine. """ return self.__in_engine + + def add_to_scene(self, objects): + """ + Adds some objects to the DynamicDrawableObject list and the + game engine's scene. + + @param objects: A list of DynamicDrawableObjects + """ + + self.game_engine.get_scene().addObjects(objects) + self.__ddo_list += objects def add_to_engine(self): """ @@ -68,6 +83,11 @@ class GameEngineElement(object): if self.__has_event: self.game_engine.remove_event_callback(self.event_handler) + + if not (self.__ddo_list == []): + for object in self.__ddo_list: + self.game_engine.removeObject(object) + def event_handler(self, event): """ -- cgit v0.9.1