From ada551d31ae4ab71370aa0c20ca386221c9807f9 Mon Sep 17 00:00:00 2001 From: march3 Date: Tue, 4 Jul 2023 10:13:21 +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 --- sim_scenes/func.py | 18 +++++++++++++----- sim_scenes/science/speed_of_light_3d.py | 9 ++++++--- simulators/ursina/ui/control_handler.py | 8 ++++++-- simulators/ursina/ursina_config.py | 3 +++ 4 files changed, 28 insertions(+), 10 deletions(-) diff --git a/sim_scenes/func.py b/sim_scenes/func.py index ff644e3..d404eef 100644 --- a/sim_scenes/func.py +++ b/sim_scenes/func.py @@ -112,6 +112,8 @@ def ursina_run(bodies, cosmic_bg=None, bg_music=None, show_grid=True, + show_camera_info=True, + show_control_info=True, grid_position=None, grid_scale=None, show_trail=False, @@ -129,6 +131,8 @@ def ursina_run(bodies, @param cosmic_bg: 宇宙背景图片 @param bg_music: 背景音乐 @param show_grid: 是否显示空间网格 + @param show_camera_info: 是否显示摄像机信息面板 + @param show_control_info: 是否显示控制信息面板 @param show_trail: 是否显示拖尾 @param show_name: 是否显示天体名称 @param show_timer: 是否显示计时器 @@ -158,9 +162,9 @@ def ursina_run(bodies, view_azimuth = 0 # 暂时未用 player = UrsinaPlayer(position, view_azimuth, simulator.ursina_views) - if save_as_video: - from common.video_recorder import VideoRecorder - vr = VideoRecorder() + # if save_as_video: + # from common.video_recorder import VideoRecorder + # vr = VideoRecorder() def callback_update(): UrsinaEvent.on_application_run() @@ -169,13 +173,17 @@ def ursina_run(bodies, if ursina_view.appeared: ursina_view.update() - if save_as_video: - vr.screenshot() + # if save_as_video: + # vr.screenshot() import sys from simulators.ursina.ursina_config import UrsinaConfig from simulators.ursina.ursina_event import UrsinaEvent sys.modules["__main__"].update = callback_update + + UrsinaConfig.show_camera_info = show_camera_info + UrsinaConfig.show_control_info = show_control_info + if show_trail: UrsinaConfig.show_trail = show_trail simulator.run(dt, diff --git a/sim_scenes/science/speed_of_light_3d.py b/sim_scenes/science/speed_of_light_3d.py index 86e7e70..1c3743c 100644 --- a/sim_scenes/science/speed_of_light_3d.py +++ b/sim_scenes/science/speed_of_light_3d.py @@ -100,8 +100,8 @@ def on_timer_changed(time_data: TimeData): init.text_panel.text = text.replace("${speed}", str(round(velocity / LIGHT_SPEED, 1)) + "倍光速") init._3d_card.switch_color() light_ship.switch_position() - if time_data.total_seconds > 20: - wait_for(0.3) + # if time_data.total_seconds > 20: + # wait_for(0.03) # 订阅重新开始事件 @@ -153,7 +153,10 @@ init.body_arrived = body_arrived ursina_run(bodies, 10, position=init.camera_position, # show_trail=init.show_trail, - show_timer=True, + # show_timer=True, + show_camera_info=False, + show_control_info=False, + timer_enabled=True, view_closely=init.view_closely, # bg_music="sounds/interstellar.mp3" ) diff --git a/simulators/ursina/ui/control_handler.py b/simulators/ursina/ui/control_handler.py index 04c9365..6059083 100644 --- a/simulators/ursina/ui/control_handler.py +++ b/simulators/ursina/ui/control_handler.py @@ -33,12 +33,16 @@ class ControlHandler(EventHandler): self.settings_handler = Entity(ignore_paused=True) self.settings_handler.input = self.settings_handler_input key_info_str = "方位控制[键盘QWEASD]+[鼠标右键],按[空格]更多控制" - key_info = Text(text=key_info_str, font=UrsinaConfig.CN_FONT, position=(-1, 0.5), origin=(-1, 1), - background=True) + if UrsinaConfig.show_control_info: + key_info = Text(text=key_info_str, font=UrsinaConfig.CN_FONT, position=(-1, 0.5), origin=(-1, 1), + background=True) self.camera_info = Text(text="", scale=0.8, position=(0, -0.45), origin=(0, 1), background=False) + if not UrsinaConfig.show_camera_info: + self.camera_info.enabled = False + def camera_update(self): pos = camera.position # WS => [2] w_pos = camera.world_rotation # 鼠标右键 diff --git a/simulators/ursina/ursina_config.py b/simulators/ursina/ursina_config.py index 66386c2..134c6af 100644 --- a/simulators/ursina/ursina_config.py +++ b/simulators/ursina/ursina_config.py @@ -35,6 +35,9 @@ class UrsinaConfig: __on_reset_funcs = [] show_trail = False + show_camera_info = True + show_control_info = True + # 拖尾球体的数量 trail_length = 100 # 拖尾的类型(球体、线条) -- GitLab