예제 #1
0
    def startPreview(self):
        if self.paused == False: return
        self.canvas.setInputDevice(self.getRuntime().getInputDevice('device'))
        self.canvas.startTick()
        self.getApp().setMinimalMainLoopBudget()

        self.enableMenu('main/run/pause_game', True)
        self.enableMenu('main/run/stop_game', True)
        self.enableMenu('main/run/start_game', False)
        self.enableMenu('main/run/next_frame', False)

        if self.paused:  # resume
            logging.info('resume game preview')
        # signals.emitNow('preview.resume')

        elif self.paused is None:  # start
            logging.info('start game preview')
            # signals.emitNow('preview.start')
            # signals.emitNow('preview.resume')
            entryScript = self.getProject().getScriptLibPath('main.lua')
            import os
            if os.path.exists(entryScript):
                # self.getRuntime().setWorkingDirectory(self.getProject().getPath() + "/game")
                self.getRuntime().getRuntimeEnv(
                )['SCREEN_WIDTH'] = self.canvas.size().width()
                self.getRuntime().getRuntimeEnv(
                )['SCREEN_HEIGHT'] = self.canvas.size().height()
                getAKU().runScript(entryScript)

        self.window.setWindowTitle('Game [ RUNNING ]')
        self.qtool.setStyleSheet(
            'QToolBar{ border-top: 1px solid rgb(0, 120, 0); }')
        self.paused = False
        self.setFocus()
        logging.info('game preview started')
예제 #2
0
 def renderView(self):
     w = self.viewWidth
     h = self.viewHeight
     runtime = self.getRuntime()
     getAKU().setViewSize(w, h)
     runtime.changeRenderContext('game', w, h)
     runtime.renderAKU()
예제 #3
0
    def onOpenWindow(self, title, w, h):
        logging.info('opening MOAI window: %s @  (%d,%d)' % (str(title), w, h))
        print('opening MOAI window: %s @  (%d,%d)' % (str(title), w, h))
        #no argument accepted here, just use full window
        # self.getRuntime ().initGLContext ()
        from qt.controls.GLWidget import GLWidget
        GLWidget.getSharedWidget().makeCurrent()

        self.originalSize = (w, h)
        self.tryResizeContainer(*self.originalSize)

        size = self.canvas.size()
        w, h = size.width(), size.height()

        getAKU().setScreenSize(w, h)
        getAKU().setViewSize(w, h)
예제 #4
0
    def startPreview(self):
        if self.paused == False: return
        runtime = self.getRuntime()
        runtime.changeRenderContext('game', self.viewWidth, self.viewHeight)
        self.canvas.setInputDevice(runtime.getInputDevice('device'))
        self.canvas.startRefreshTimer(self.activeFPS)
        self.canvas.interceptShortcut = True
        self.getApp().setMinimalMainLoopBudget()
        # jhook = self.getModule ( 'joystick_hook' )
        # if jhook:
        # 	jhook.refreshJoysticks ()
        # 	jhook.setInputDevice ( runtime.getInputDevice ('device') )

        self.enableMenu('main/preview/pause_game', True)
        self.enableMenu('main/preview/stop_game', True)
        self.enableMenu('main/preview/start_game', False)

        if self.paused:  #resume
            logging.info('resume game preview')
            signals.emitNow('preview.resume')

        elif self.paused is None:  #start
            logging.info('start game preview')
            signals.emitNow('preview.start')
            signals.emitNow('preview.resume')
            self.updateTimer = self.window.startTimer(60, self.updateView)

            getAKU().setFuncOpenWindow(self.onOpenWindow)

        self.window.setWindowTitle('Game Preview [ RUNNING ]')
        self.qtool.setStyleSheet(
            'QToolBar{ border-top: 1px solid rgb (0, 120, 0); }')
        self.paused = False
        runtime.resume()
        self.setFocus()
        logging.info('game preview started')

        entryScript = self.getProject().getScriptLibPath('main.lua')
        import os
        if os.path.exists(entryScript):
            getAKU().runScript(entryScript)
예제 #5
0
    def refreshContext(self):

        # getAKU().resetContext()

        # getAKU().setInputConfigurationName('Game')
        # #
        # getAKU().reserveInputDevices(1)
        # getAKU().setInputDevice(0, "device")
        #
        # getAKU().reserveInputDeviceSensors(0, TOTAL)
        # getAKU().setInputDeviceKeyboard(0, KEYBOARD, "keyboard")
        # getAKU().setInputDevicePointer(0, POINTER, "pointer")
        # getAKU().setInputDevicePointer(0, MOUSE_LEFT, "mouseLeft")
        # getAKU().setInputDevicePointer(0, MOUSE_MIDDLE, "mouseMiddle")
        # getAKU().setInputDevicePointer(0, MOUSE_RIGHT, "mouseRight")

        getAKU().runString(
            "MOAIEnvironment.setValue('horizontalResolution', %d) MOAIEnvironment.setValue('verticalResolution', %d)"
            % (int(self.size().width()), int(self.size().height())))
        # AKUSetWorkingDirectory()

        self.lua = getAKU().getLuaRuntime()

        getAKU().setFuncOpenWindow(self.openWindow)
예제 #6
0
    def openWindow(self, title, width, height):
        self.makeCurrent()
        getAKU().detectGfxContext()

        w = self.size().width()
        h = self.size().height()

        getAKU().setScreenSize(w, h)
        getAKU().setViewSize(w, h)

        self.windowReady = True
예제 #7
0
 def setOrientationLandscape(self):
     if self.window.isFloating():
         pass  #TODO
     getAKU().setOrientationLandscape()
예제 #8
0
 def setOrientationPortrait(self):
     if self.window.isFloating():
         pass  #TODO
     getAKU().setOrientationPortrait()
예제 #9
0
 def resizeView(self, w, h):
     self.viewWidth = w
     self.viewHeight = h
     getAKU().setScreenSize(w, h)
     getAKU().setViewSize(w, h)
예제 #10
0
 def simStep(self):
     if self.windowReady:
         getAKU().update()
예제 #11
0
 def paintGL(self):
     if self.windowReady:
         getAKU().render()
예제 #12
0
 def resizeGL(self, w, h):
     if self.windowReady:
         logging.info('Game resizeGL ( %d x %d )' % (w, h))
         getAKU().setScreenSize(w, h)
         getAKU().setViewSize(w, h)