From 7bc0893350061e24bf407e538f7e5153a23933f0 Mon Sep 17 00:00:00 2001 From: march3 Date: Wed, 5 Apr 2023 21:45:58 +0800 Subject: [PATCH] =?UTF-8?q?Python=E8=B6=85=E4=BA=BA-=E5=AE=87=E5=AE=99?= =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- simulators/ursina/entities/body_trail.py | 1 + simulators/ursina/ui/control_handler.py | 25 ++++++++++++++++++++++-- simulators/ursina_simulator.py | 6 +++++- 3 files changed, 29 insertions(+), 3 deletions(-) diff --git a/simulators/ursina/entities/body_trail.py b/simulators/ursina/entities/body_trail.py index f4fd60d..9e6f141 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 274122b..3c05b94 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 6300fbc..2ba408b 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)) -- GitLab