diff --git a/sim_scenes/solar_system/halley_comet_lib.py b/sim_scenes/solar_system/halley_comet_lib.py index 8afe35eacfee6373abe600641ba11547b10bf730..f17c8232bd7b5471bb9f50ddb953b457b780002a 100644 --- a/sim_scenes/solar_system/halley_comet_lib.py +++ b/sim_scenes/solar_system/halley_comet_lib.py @@ -90,7 +90,11 @@ class HalleyCometSimBase(UniverseSimScenes): def build_solar_system(self, ignore_gravity=False, start_time=None): # region 构建太阳系 show_trail = False - self.sun = Sun(size_scale=0.6e2, show_trail=show_trail, texture="sun_light.jpg") + self.sun = Sun(size_scale=0.6e2, show_trail=show_trail, + # color=(255, 250, 245), + # texture="", + texture="sun_light.jpg" + ) self.mercury = Mercury(size_scale=5e3, show_trail=show_trail) self.venus = Venus(size_scale=3e3, show_trail=show_trail) self.earth = Earth(size_scale=3e3, rotate_angle=0, show_trail=show_trail) diff --git a/sim_scenes/solar_system/sun_earth.py b/sim_scenes/solar_system/sun_earth.py index 96638c406472ab7bc666322d02deb482faeed7a5..becab2ee75a16ef62221eeff5d4d8c54c1e74c04 100644 --- a/sim_scenes/solar_system/sun_earth.py +++ b/sim_scenes/solar_system/sun_earth.py @@ -9,6 +9,7 @@ from bodies import Sun, Earth, Sirius from common.consts import SECONDS_PER_WEEK, SECONDS_PER_DAY, AU from sim_scenes.func import mayavi_run, ursina_run +from simulators.ursina.ursina_event import UrsinaEvent if __name__ == '__main__': """ @@ -19,10 +20,30 @@ if __name__ == '__main__': Earth(size_scale=2e3, distance_scale=1), # 地球放大 2000 倍,距离保持不变 ] - # 使用 mayavi 查看的运行效果 - # mayavi_run(bodies, SECONDS_PER_WEEK, view_azimuth=-45) + circle = None + + def on_ready(): + global circle + from simulators.ursina.ursina_mesh import create_circle + from ursina import camera + # circle = create_circle(parent=None, scale=1e2) + # circle.set_light_off(True) + + + def on_timer_changed(time_data): + global circle + from ursina import camera + # circle.look_at(camera) + # circle.rotation_y = 90 + + # 运行中,每时每刻都会触发 on_timer_changed + UrsinaEvent.on_timer_changed_subscription(on_timer_changed) + # 运行前会触发 on_ready + UrsinaEvent.on_ready_subscription(on_ready) # 使用 ursina 查看的运行效果 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # position = 左-右+、上+下-、前+后- - ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU, -4 * AU), show_trail=True) + ursina_run(bodies, SECONDS_PER_WEEK, position=(0, AU, -4 * AU), + timer_enabled=True, + show_trail=True)