提交 0b6d6022 编写于 作者: 三月三net's avatar 三月三net

Python超人-宇宙模拟器

上级 b1a0aa58
......@@ -131,11 +131,6 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase):
delattr(self, days_counter_init_val_key)
return True
return False
# if days is None:
# return self.days_counter
# else:
# self.days_counter = days
# self.days_counter_init_val = time_data.total_days
def get_center_pos(self, dt, time_data):
ec = UrsinaSimulator.EditorCamera
......@@ -208,12 +203,18 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase):
window.borderless = True
window.exit_button = False
# window.fullscreen = True
# window.position = (1920, 0)
# # 设置窗口的宽度和高度
# window.size = (2340, 1079)
# self.window_size()
self.orbit_lines = self.create_orbit_lines()
# def window_size(self):
# # window.fullscreen = True
# # window.position = (1920, 0)
# # self.set_window_size()
# # # # 设置窗口的宽度和高度
# # window.size = (2340, 1079)
# # window.position = (0, 0)
# self.set_window_size((2376, 1080),fullscreen=True)
def hide_orbit_lines(self):
for orbit_line in self.orbit_lines:
destroy(orbit_line)
......@@ -225,29 +226,33 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase):
self.set_bodies_position(time_data)
self.show_clock(dt)
_dt = (time_data.dt / 28788)
print("total_days:", time_data.total_days)
if time_data.total_days > 2300:
exit()
ec = UrsinaSimulator.EditorCamera
if self.phase_num == 1:
ec.world_position += ec.up * 2 * UrsinaConfig.run_speed_factor # 前进
ec.world_position += ec.back * 1 * UrsinaConfig.run_speed_factor # 下
ec.world_position += ec.up * 2 * _dt * UrsinaConfig.run_speed_factor # 前进
ec.world_position += ec.back * 1 * _dt * UrsinaConfig.run_speed_factor # 下
elif self.phase_num == 2:
self.hide_orbit_lines()
elif self.phase_num == 3:
if self.count_days(self.phase_num, time_data, 370):
self.phase_num = 4
elif self.phase_num == 4:
ec.world_position -= ec.up * 2 * UrsinaConfig.run_speed_factor # 后退
ec.world_position -= ec.back * 1.4 * UrsinaConfig.run_speed_factor # 下(快一点)
ec.world_position += ec.right * 0.8 * UrsinaConfig.run_speed_factor # 左
ec.world_position -= ec.up * 2* _dt * UrsinaConfig.run_speed_factor # 后退
ec.world_position -= ec.back * 1.4* _dt * UrsinaConfig.run_speed_factor # 下(快一点)
ec.world_position += ec.right * 0.8 * _dt* UrsinaConfig.run_speed_factor # 左
d_sun = self.get_distance_sun()
print("d_sun:", d_sun)
if d_sun > 45:
self.phase_num = 5
elif self.phase_num == 5:
ec.world_position -= ec.back * 1.4 * UrsinaConfig.run_speed_factor # 下
ec.world_position += ec.right * 0.7 * UrsinaConfig.run_speed_factor # 左
ec.world_position -= ec.back * 1.4* _dt * UrsinaConfig.run_speed_factor # 下
ec.world_position += ec.right * 0.7* _dt * UrsinaConfig.run_speed_factor # 左
pos = camera.world_position
if pos[2] > 2000:
self.phase_num = 6
......@@ -286,16 +291,12 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase):
return True
def show_title(self):
return
aspect_ratio = window.aspect_ratio
position, origin = (-0.5 * aspect_ratio - 0.1, 0.48), (-0.05, 0.1)
position2, origin2 = (-0.5 * aspect_ratio - 0.1, 0.40), (-0.05, 0.1)
# text1 = Text(text="太阳视角:观察日食月食", color=color.white, scale=2.5, position=position, # (-0.98, 0.48),
# font=font)
ext1 = Text(text="太阳视角:2024年重要天象", color=color.white, scale=2.5, position=position, # (-0.98, 0.48),
position, origin = (-0.5 * aspect_ratio + 0.02, 0.48), (-0.05, 0.1)
text1 = Text(text="地球为中心的轨道是这样", color=color.white, scale=2, position=position, # (-0.98, 0.48),
font=self.font)
text2 = Text(text="(地球自转放慢10倍)", color=color.white, scale=1.5, position=position2, # (-0.98, 0.48),
font=self.font)
# 2024年重要天象
def show_clock(self, dt):
"""
......@@ -306,6 +307,7 @@ class CenterPointMovingSimLive(EarthSeasonsSimBase):
# if self.clock_position_center:
# position, origin = (0, .25), (0, 0),
# else:
return
from ursina import window
aspect_ratio = window.aspect_ratio
position, origin = (0., 0.45), (0., 0.),
......@@ -325,7 +327,7 @@ if __name__ == '__main__':
"""
sim = CenterPointMovingSimLive()
sim.run(
dt=SECONDS_PER_DAY * 20,
dt=SECONDS_PER_DAY * 5,
# dt=SECONDS_PER_DAY * 3,
init_position=[0, -60 * AU, 30 * AU],
show_exit_button=False,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册