提交 4adc666f 编写于 作者: 三月三net's avatar 三月三net

Python超人-宇宙模拟器

上级 a725a048
...@@ -26,44 +26,54 @@ if __name__ == '__main__': ...@@ -26,44 +26,54 @@ if __name__ == '__main__':
# TODO: 可以抵消月球带动地球的力,保持地球在原地 # TODO: 可以抵消月球带动地球的力,保持地球在原地
# OFFSETTING = 0.01265 # OFFSETTING = 0.01265
# sun = Sun(name="太阳", size_scale=6e1, init_position=[0, 0, -AU]).set_ignore_gravity(True) # sun = Sun(name="太阳", size_scale=6e1, init_position=[0, 0, -AU]).set_ignore_gravity(True)
earth = Earth(init_position=[0, -200000, -50000], earth_size_scale = 2.5e2
earth = Earth(init_position=[0, -2500000, 0],
texture="earth_hd.jpg", texture="earth_hd.jpg",
rotate_angle=-23.44, # rotate_angle=0,
init_velocity=[OFFSETTING, 0, 0], size_scale=2.5e1) # 地球放大 5 倍,距离保持不变 init_velocity=[OFFSETTING, 0, 0], size_scale=earth_size_scale).set_ignore_gravity(
True) # 地球放大 5 倍,距离保持不变
# 创建云层(texture纹理图使用了透明云层的图片,云层的 size_scale 要稍微比地球大一点)
clouds = Earth(name="地球云层", texture="transparent_clouds.png",
# rotate_angle=0,
init_position=[0, -2500000, 0],
size_scale=earth_size_scale * 1.01, parent=earth).set_ignore_gravity(True)
water_drop = WaterDrop(init_position=[AU / 100, 0, AU / 40], water_drop = WaterDrop(init_position=[AU / 100, 0, AU / 40],
init_velocity=[-1, 0, 0], init_velocity=[-1, 0, 0],
size_scale=5e4) size_scale=5e4).set_ignore_gravity(True)
# moon = Moon(init_position=[0, 0, 363104], # 距地距离约: 363104 至 405696 km # moon = Moon(init_position=[0, 0, 363104], # 距地距离约: 363104 至 405696 km
# init_velocity=[-1.03, 0, 0], size_scale=2e1) # 月球放大 10 倍,距离保持不变 # init_velocity=[-1.03, 0, 0], size_scale=2e1) # 月球放大 10 倍,距离保持不变
# moon.set_light_disable(True) # moon.set_light_disable(True)
d = 100000 d = 100000
num_x = 9 num_x = 9
num_z = 5 num_z = 9
x_offset = - (num_x - 1) / 2 * d x_offset = - (num_x - 1) / 2 * d
z_offset = - (num_z - 1) / 2 * d
ship_list = [] ship_list = []
for x in range(num_x): for x in range(num_x):
for z in range(num_z): for z in range(num_z):
core_valaga_clas = CoreValagaClas(size_scale=15, core_valaga_clas = CoreValagaClas(size_scale=15,
init_position=[x_offset + x * d, -30000, init_position=[x_offset + x * d, -30000,
z * d - 20000]).set_ignore_gravity(True) z_offset + z * d - 20000]).set_ignore_gravity(True)
ship_list.append(core_valaga_clas) ship_list.append(core_valaga_clas)
for x in range(num_x): for x in range(num_x):
for z in range(num_z): for z in range(num_z):
sci_fi_bomber = SciFiBomber(size_scale=3.5, sci_fi_bomber = SciFiBomber(size_scale=3.5,
init_position=[x_offset + x * d, 30000, z * d - 20000]).set_ignore_gravity(True) init_position=[x_offset + x * d, 30000,
z_offset + z * d - 20000]).set_ignore_gravity(True)
ship_list.append(sci_fi_bomber) ship_list.append(sci_fi_bomber)
earth.rotation_speed /= 6 # 地球的转速降低50倍 # earth.rotation_speed /= 6 # 地球的转速降低50倍
bodies = [earth, water_drop] + ship_list bodies = [earth, clouds, water_drop] + ship_list
def on_timer_changed(time_data: TimeData): def on_timer_changed(time_data: TimeData):
if time_data.total_days > 27.5: if time_data.total_days > 27.5:
exit(0) exit(0)
camera_look_at(water_drop, rotation_z=0) # camera_look_at(water_drop, rotation_z=0)
def on_ready(): def on_ready():
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册