diff --git a/simulators/ursina/entities/body_trail.py b/simulators/ursina/entities/body_trail.py index f4fd60d698af4a58d54b0867f42fab123a6ad9fb..9e6f1419f3637e4e343b5fd570e3e43bf6490782 100644 --- a/simulators/ursina/entities/body_trail.py +++ b/simulators/ursina/entities/body_trail.py @@ -30,6 +30,7 @@ class BodyTrail(Entity): model='sphere', collider='sphere', ignore_paused=True, + # highlight_color=color.red, # Button 有效 **kwargs ) diff --git a/simulators/ursina/ui/control_handler.py b/simulators/ursina/ui/control_handler.py index 274122beb1de7c8c5bf2ca1cd762aaafdfd13df7..3c05b9443b2566ccd07e121e6079d5dc2db82c00 100644 --- a/simulators/ursina/ui/control_handler.py +++ b/simulators/ursina/ui/control_handler.py @@ -210,6 +210,24 @@ class ControlHandler(EventHandler): def on_slider_run_speed_changed(self): UrsinaConfig.run_speed_factor = self.ui.slider_run_speed_factor.value + def shift_key_handle(self, key): + """ + 用于判断是否按下 shift 键盘 + @param key: + @return: + """ + if not hasattr(self, "shift_keys"): + self.shift_keys = {"right": False, "left": False} + if key in ["right shift hold", "left shift hold"]: + kv = key.split(" ") + self.shift_keys[kv[0]] = True + elif key in ["right shift up", "left shift up"]: + kv = key.split(" ") + self.shift_keys[kv[0]] = False + + print(self.shift_keys) + return self.shift_keys['left'] or self.shift_keys['right'] + def settings_handler_input(self, key): """ @@ -218,10 +236,13 @@ class ControlHandler(EventHandler): """ import sys - self.camera_update() + self.shift_key_handle(key) + self.camera_update() + print(key) if key == "escape": - sys.exit() + if self.shift_keys['left'] or self.shift_keys['right']: + sys.exit() # print(key) elif key == 'space': self.ui.enabled = not self.ui.enabled diff --git a/simulators/ursina_simulator.py b/simulators/ursina_simulator.py index 6300fbc9d4bed932a8b35d42a30ff31a98fa56ed..2ba408bbb05c24d1353fb02ad65eae4573d41833 100644 --- a/simulators/ursina_simulator.py +++ b/simulators/ursina_simulator.py @@ -232,7 +232,11 @@ class UrsinaSimulator(Simulator): camera.fov = 60 window.fps_counter.enabled = False - window.editor_ui.enabled = True + window.editor_ui.enabled = False + + # # 场景加入雾的效果 + # scene.fog_color = color.orange + # scene.fog_density = 800 * UrsinaConfig.SCALE_FACTOR # UrsinaConfig.SCALE_FACTOR = UrsinaConfig.SCALE_FACTOR * math.ceil(0.01 / pow(camera.clip_plane_near,2))