Esempio n. 1
0
class App( ):

    # -------- Init --------
    # Constructor, creates the app and sets it to running.
    #
    # @return App
    def __init__( self ):
        # Set the app to running
        self.running = True

        # Create the event manager
        self.events = EventManager( )
        self.events.registerListener( AppListener() )

        # Set the default app mode
        self.mode = 'menu'

        self.updateableObjects = {
            'game': [],
            'menu': []
        }

        self.colliders = []

    # -------- Tick --------
    # Process a single tick of the game loop.
    #
    # @param  int  frameTime Number of milliseconds passed since the previous tick.
    # @param  int  lifeTime  Number of milliseconds since pygame initialised.
    # @return None
    def tick( self, frameTime, lifeTime ):
        if 'game' == self.mode:
            self.tickGame( frameTime, lifeTime )
        else:
            self.tickMenu( frameTime, lifeTime )

    # -------- Tick Game --------
    # Process a single tick within the game mode.
    #
    # @param  int  frameTime Number of milliseconds passed since the previous tick.
    # @param  int  lifeTime  Number of milliseconds since pygame initialised.
    # @return None
    def tickGame( self, frameTime, lifeTime ):

        # Fill with black
        config.screen.fill( config.settings['screen_fill'] )

        # Update sprites
        print len(self.updateableObjects['game'])
        for obj in self.updateableObjects['game']:
            obj.update( int(frameTime), int(lifeTime) )

        # Run checks on colliders
        for collider in self.colliders:
            collider.check( )

        # Draw sprites
        rects = config.sprites.draw( config.screen )

        #pygame.display.update( rects )

        pygame.display.flip( )

    # -------- Tick Menu --------
    # Process a single tick within the menu mode.
    #
    # @param  int  frameTime Number of milliseconds passed since the previous tick.
    # @param  int  lifeTime  Number of milliseconds since pygame initialised.
    # @return None
    def tickMenu( self, frameTime, lifeTime ):
        for obj in self.updateableObjects['menu']:
            pass


    def addUpdateableObject( self, mode, obj ):
        if obj not in self.updateableObjects[mode]:
            self.updateableObjects[mode].append( obj )

    def removeUpdateableObject( self, mode, obj ):
        if obj in self.updateableObjects[mode]:
            self.updateableObjects[mode].remove( obj )

    def addCollider( self, collider ):
        self.colliders.append( collider )

    def setMode( self, mode ):
        self.mode = mode

    def setWorld( self, world ):
        self.world = world
Esempio n. 2
0
class App( ):

    # -------- Init --------
    # Constructor, creates the app and sets it to running.
    #
    # @return App
    def __init__( self ):
        # Set the app to running
        self.running = True

        # Create the event manager
        self.events = EventManager( )
        self.events.registerListener( AppListener() )

        # Set the default app mode
        self.mode = 'menu'

        self.updateableObjects = {
            'game': [],
            'menu': []
        }

    # -------- Tick --------
    # Process a single tick of the game loop.
    #
    # @param  int  frameTime Number of milliseconds passed since the previous tick.
    # @param  int  lifeTime  Number of milliseconds since pygame initialised.
    # @return None
    def tick( self, frameTime, lifeTime ):
        if 'game' == self.mode:
            self.tickGame( frameTime, lifeTime )
        else:
            self.tickMenu( frameTime, lifeTime )

    # -------- Tick Game --------
    # Process a single tick within the game mode.
    #
    # @param  int  frameTime Number of milliseconds passed since the previous tick.
    # @param  int  lifeTime  Number of milliseconds since pygame initialised.
    # @return None
    def tickGame( self, frameTime, lifeTime ):

        # Fill with black
        config.screen.fill( config.settings['screen_fill'] )

        # Update sprites
        for obj in self.updateableObjects['game']:
            obj.update( int(frameTime), int(lifeTime) )

        # Draw sprites
        rects = config.sprites.draw( config.screen )

        #pygame.display.update( rects )

        pygame.display.flip( )

    # -------- Tick Menu --------
    # Process a single tick within the menu mode.
    #
    # @param  int  frameTime Number of milliseconds passed since the previous tick.
    # @param  int  lifeTime  Number of milliseconds since pygame initialised.
    # @return None
    def tickMenu( self, frameTime, lifeTime ):
        for obj in self.updateableObjects['menu']:
            pass


    def addUpdateableObject( self, mode, obj ):
        self.updateableObjects[mode].append( obj )

    def setMode( self, mode ):
        self.mode = mode

    def setWorld( self, world ):
        self.world = world