def __onClickExcute(self): if not self.firstClick: p.changeDynamics(self.colId, -1, 10) self.base_rotate = [0, 0, 1, 0] self.col_local_pos = [0, 0, 0] self.__ChangeStatus(STATUS_FLY) currentScene = SceneManager.GetCurrentScene() multi = currentScene.speedButton.GetCurrentTickZone() currentScene.SetState("STATE_PLAYING") currentScene.pauseButton.Display() self.firstClick = True data = self.GetData() if data: farMul, highMul = data['baseFarMultiply'], data[ 'baseHighMultiply'] else: farMul, highMul = 1.0, 1.0 farMul = farMul * multi highMul = highMul * 0.5 * multi pos, orn = p.getBasePositionAndOrientation(self.colId) force = [0, -self.camDis[1] * 10000 * farMul, 20000 * highMul] p.applyExternalForce(self.colId, -1, force, pos, flags=p.WORLD_FRAME)
def OnClickExcute(self): currentScene = SceneManager.GetCurrentScene() if currentScene.state == "STATE_PAUSE": currentScene.SetState("STATE_PLAYING") elif currentScene.state == "STATE_PLAYING": currentScene.SetState("STATE_PAUSE") else: return
def DisplayStageResult(self): percentDestroy = self.finalScene.GetDestroyPercent() if percentDestroy < 0.5: rate = "UNCLEAR" elif percentDestroy < 0.6: rate = "ONE_STAR_RATE" elif percentDestroy < 0.8: rate = "TWO_STAR_RATE" else: rate = "THREE_STAR_RATE" self.endStageCanvas.Display(rate) self.percentDestroy = 0 currentScene = SceneManager.GetCurrentScene() currentScene.HideUI() if os.path.exists("TestVoxel/currentStageResult.pickle"): os.remove("TestVoxel/currentStageResult.pickle")
def OnClickExcute(self): SceneManager.GetCurrentScene().SetState("STATE_RESET")
import pybullet as p import time import pybullet_data from pyxie.apputil import graphicsHelper import pyxie import pyvmath as vmath import math import random from game_scene import GameScene from scene_manager import SceneManager import imgui import sys SCREEN_WIDTH = 520 SCREEN_HEIGHT = 900 pyxie.window(True, SCREEN_WIDTH , SCREEN_HEIGHT) imgui.create_context() gameScene = GameScene() SceneManager.SetCurrentScene(gameScene) while(1): SceneManager.GetCurrentScene().Update() SceneManager.GetCurrentScene().Render() pyxie.swap() # game loop
def OnClickRetryButtonExcute(self): currentScene = SceneManager.GetCurrentScene() currentScene.resetDataButton.OnClickExcute() currentScene.SetState("STATE_RETRY")