diff --git a/sim_scenes/earth/earth_moon.py b/sim_scenes/earth/earth_moon.py index e5941f2d9214a821108b3239bde56dc2d5250240..08da39282715b7ff536d6df6a31c3934ee39a425 100644 --- a/sim_scenes/earth/earth_moon.py +++ b/sim_scenes/earth/earth_moon.py @@ -9,6 +9,7 @@ from bodies import Earth, Moon from common.consts import SECONDS_PER_DAY, SECONDS_PER_WEEK, SECONDS_PER_MONTH from sim_scenes.func import ursina_run, camera_look_at +from simulators.ursina.ursina_config import UrsinaConfig from simulators.ursina.ursina_event import UrsinaEvent if __name__ == '__main__': @@ -24,24 +25,13 @@ if __name__ == '__main__': moon = Moon(init_position=[0, 0, 363104], # 距地距离约: 363104 至 405696 km init_velocity=[-1.03, 0, 0], size_scale=1e1) # 月球放大 10 倍,距离保持不变 - earth.rotation_speed /= 10 + earth.rotation_speed /= 50 # 地球的转速降低50倍 bodies = [earth, moon] - - def on_ready(): - # 运行前触发 - # 摄像机看向地球 - camera_look_at(earth) - - - # 订阅事件后,上面的函数功能才会起作用 - # 运行前会触发 on_ready - UrsinaEvent.on_ready_subscription(on_ready) - # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- ursina_run(bodies, SECONDS_PER_WEEK, - position=(-300000, 1500000, -1000), + position=(0, 100000, -1000000), show_trail=True) diff --git a/simulators/ursina_simulator.py b/simulators/ursina_simulator.py index 8cb5a49562ce911145c8af32b32a56bef554f460..f3e46d5b7dba791dbef00a93dde813a2459f95b6 100644 --- a/simulators/ursina_simulator.py +++ b/simulators/ursina_simulator.py @@ -314,9 +314,7 @@ class UrsinaSimulator(Simulator): if cosmic_bg is not None and os.path.exists(cosmic_bg): self.cosmic_background(cosmic_bg) - # ui = UrsinaUI() - ctl = ControlUI(ControlHandler(), position=(0.6, 0.5)) - ControlUI.current_ui = ctl + if self.show_timer: self.create_timer() @@ -353,6 +351,10 @@ class UrsinaSimulator(Simulator): UrsinaEvent.on_ready() + # ui = UrsinaUI() + ctl = ControlUI(ControlHandler(), position=(0.6, 0.5)) + ControlUI.current_ui = ctl + UrsinaEvent.after_ready() self.app.run()