Exemplo n.º 1
0
    def __init__(self, first_level="test", reset_save=False):
        super(EditorWindow,self).__init__(width=gamestate.norm_w, 
                                          height=gamestate.norm_h, vsync=True)
        self.set_caption("Shoot 'Em Up Construction Kit")
        
        pyglet.gl.glEnable(pyglet.gl.GL_BLEND)
        pyglet.gl.glBlendFunc(pyglet.gl.GL_SRC_ALPHA, pyglet.gl.GL_ONE_MINUS_SRC_ALPHA)
        pyglet.gl.glEnable(pyglet.gl.GL_LINE_SMOOTH)
        
        # Make window available globally to make event juggling simpler
        gamestate.main_window = self

        # Set up automatic scaling transformations to keep a consistent view size
        gamestate.init_scale()
        
        # Initialize simplui
        theme = Theme('simplui/theme')
        self.frame = Frame(theme, w=self.width, h=self.height)
        self.push_handlers(self.frame)
        
        self.editors = [m.editor(self) for m in (sprite, path, formation, level)]
        self._current_editor = None
        
        self.init_gui()
        
        pyglet.clock.schedule_interval(self.on_draw, 1/72.0)
Exemplo n.º 2
0
    def __init__(self, reset_save=False, reset_at_scene=None):
        reset_save = reset_save or reset_at_scene
        if util.settings.fullscreen:
            super(AdventureWindow,self).__init__(fullscreen=True, vsync=True)
        else:
            super(AdventureWindow,self).__init__(width=gamestate.norm_w, 
                                                 height=gamestate.norm_h, vsync=True)
        
        gamestate.main_window = self    # Make main window accessible to others.
                                        #   Necessary for convenient event juggling.
        gamestate.init_scale()          # Set up scaling transformations to have
                                        #   a consistent window size
        gamestate.event_manager = eventmanager.EventManager()
        
        pyglet.gl.glEnable(pyglet.gl.GL_BLEND)
        pyglet.gl.glBlendFunc(pyglet.gl.GL_SRC_ALPHA, pyglet.gl.GL_ONE_MINUS_SRC_ALPHA)
        pyglet.gl.glEnable(pyglet.gl.GL_LINE_SMOOTH)
        
        self.game_handler = None
        
        engine.init()                   # Set up resource paths
        
        self.init_load()

        with pyglet.resource.file(util.respath('game', 'info.json'), 'r') as game_info_file:
            self.game_info = json.load(game_info_file)
            self.game_info['reset_save'] = reset_save
            if reset_at_scene:
                self.game_info['first_scene'] = reset_at_scene
            self.set_caption(self.game_info["name"])
        
        # Stupid hack to get around pyglet loading bullshit
        pyglet.clock.schedule_once(self.finish_loading, 0.0000001)
Exemplo n.º 3
0
 def __init__(self):
     if len(sys.argv) < 2:
         print "Usage: python AdventureMaker.py <name of scene to edit>"
         sys.exit(1)
     
     screen = pyglet.window.get_platform().get_default_display().get_default_screen()
     super(AdventureMakerWindow,self).__init__(width=screen.width-20, 
                                               height=gamestate.norm_h, 
                                               vsync=True)
     gamestate.main_window = self
     gamestate.scripts_enabled = False
     gamestate.init_scale()
     gamestate.keys = pyglet.window.key.KeyStateHandler()
     gamestate.main_window.push_handlers(gamestate.keys)
     
     engine.init()
     
     pyglet.gl.glEnable(pyglet.gl.GL_BLEND)
     pyglet.gl.glBlendFunc(pyglet.gl.GL_SRC_ALPHA, pyglet.gl.GL_ONE_MINUS_SRC_ALPHA)
     
     self.set_caption("Scene Editor: %s" % sys.argv[1])
     self.editorview = editorview.EditorView(sys.argv[1])
     
     pyglet.clock.schedule_interval(self.on_draw, 1/60.0)
     pyglet.clock.schedule_interval(self.editorview.update, 1/120.0)
Exemplo n.º 4
0
 def __init__(self, first_level="test", reset_save=False):
     if util.settings.fullscreen:
         super(AerthianWindow,self).__init__(fullscreen=True, vsync=True)
     else:
         super(AerthianWindow,self).__init__(width=gamestate.norm_w, 
                                             height=gamestate.norm_h, vsync=False)
     self.set_caption(gamestate.name)
     pyglet.gl.glEnable(pyglet.gl.GL_BLEND)
     pyglet.gl.glBlendFunc(pyglet.gl.GL_SRC_ALPHA, pyglet.gl.GL_ONE_MINUS_SRC_ALPHA)
     pyglet.gl.glEnable(pyglet.gl.GL_LINE_SMOOTH)
     
     pymunk.init_pymunk()
     
     if reset_save:
         try:
             shutil.rmtree(os.path.join(gamestate.save_path, "autosave"))
         except OSError:
             pass    # Directory didn't exist but we don't care
     
     gamestate.main_window = self    # Make main window accessible to others.
                                     #   Necessary for convenient event juggling.
     gamestate.init_scale()          # Set up scaling transformations to have
                                     #   a consistent window size
     
     self.scene_handler = scenehandler.SceneHandler(first_level)
     
     self.fps_display = pyglet.clock.ClockDisplay()
     
     # Schedule drawing and update functions.
     # Draw really only needs 60 FPS, update can be faster.
     pyglet.clock.schedule_interval(self.on_draw, 1/72.0)
     pyglet.clock.schedule_interval(self.scene_handler.update, 1/72.0)
Exemplo n.º 5
0
 def __init__(self):
     if util.settings.fullscreen:
         super(GameWindow,self).__init__(fullscreen=True, vsync=True)
     else:
         super(GameWindow,self).__init__(width=gamestate.norm_w, 
                                             height=gamestate.norm_h, vsync=True)
     self.set_caption(gamestate.name)
     pyglet.gl.glEnable(pyglet.gl.GL_BLEND)
     pyglet.gl.glBlendFunc(pyglet.gl.GL_SRC_ALPHA, pyglet.gl.GL_ONE_MINUS_SRC_ALPHA)
     pyglet.gl.glEnable(pyglet.gl.GL_LINE_SMOOTH)
     
     pymunk.init_pymunk()
     
     gamestate.main_window = self    # Make main window accessible to others.
                                     #   Necessary for convenient event juggling.
     gamestate.init_scale()          # Set up scaling transformations to have
                                     #   a consistent window size
     gamestate.keys = pyglet.window.key.KeyStateHandler()
     self.push_handlers(gamestate.keys)
     
     self.scene_handler = scenehandler.SceneHandler()
     fs = imagescene.ImageScene(self.scene_handler)
     self.scene_handler.set_first_scene(fs)
     
     pyglet.gl.glClearColor(0.5, 0.3, 0.255, 1.0)
     self.scene_draw = self.scene_handler.draw
     
     self.fps_display = pyglet.clock.ClockDisplay()
     
     # Schedule drawing and update functions.
     # Draw really only needs 60 FPS, update can be faster.
     pyglet.clock.schedule_interval(self.on_draw, 1/72.0)
     pyglet.clock.schedule_interval(self.scene_handler.update, 1/72.0)
     
     music = False
     if music:
         gamestate.dj = pyglet.media.Player()
         gamestate.dj.eos_action = 'loop'
         gamestate.dj.queue(pyglet.resource.media('game/music.wav', streaming=True))
         gamestate.dj.play()