diff --git a/sim_scenes/func.py b/sim_scenes/func.py index ff644e3e8016b484ca8bf599105772a8c1c1c05b..d404eef7ece0d17476e1d411d01940144dbef583 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 86e7e70a921b9269bab2b75739145dd0a8000d81..1c3743c713d9910bcb24c09e612dc28fc9efcaab 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 04c9365f55e578b874ed58c24ed1bc993dda0733..605908349f3e73e94f143127f9e38956fc6aa699 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 66386c2915700df4a6b0d1b1dcb9b9a7390d746d..134c6afa6cb4c617eb228d7d336e079defedf822 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 # 拖尾的类型(球体、线条)