提交 436fff1d 编写于 作者: 三月三net's avatar 三月三net

Python超人-宇宙模拟器

上级 666d46bb
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
from bodies import Earth, Moon from bodies import Earth, Moon
from common.consts import SECONDS_PER_DAY, SECONDS_PER_WEEK, SECONDS_PER_MONTH from common.consts import SECONDS_PER_DAY, SECONDS_PER_WEEK, SECONDS_PER_MONTH
from sim_scenes.func import ursina_run, camera_look_at from sim_scenes.func import ursina_run, camera_look_at
from simulators.ursina.ursina_config import UrsinaConfig
from simulators.ursina.ursina_event import UrsinaEvent from simulators.ursina.ursina_event import UrsinaEvent
if __name__ == '__main__': if __name__ == '__main__':
...@@ -24,24 +25,13 @@ if __name__ == '__main__': ...@@ -24,24 +25,13 @@ if __name__ == '__main__':
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=1e1) # 月球放大 10 倍,距离保持不变 init_velocity=[-1.03, 0, 0], size_scale=1e1) # 月球放大 10 倍,距离保持不变
earth.rotation_speed /= 10 earth.rotation_speed /= 50 # 地球的转速降低50倍
bodies = [earth, moon] bodies = [earth, moon]
def on_ready():
# 运行前触发
# 摄像机看向地球
camera_look_at(earth)
# 订阅事件后,上面的函数功能才会起作用
# 运行前会触发 on_ready
UrsinaEvent.on_ready_subscription(on_ready)
# 使用 ursina 查看的运行效果 # 使用 ursina 查看的运行效果
# 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹 # 常用快捷键: P:运行和暂停 O:重新开始 I:显示天体轨迹
# position = 左-右+、上+下-、前+后- # position = 左-右+、上+下-、前+后-
ursina_run(bodies, SECONDS_PER_WEEK, ursina_run(bodies, SECONDS_PER_WEEK,
position=(-300000, 1500000, -1000), position=(0, 100000, -1000000),
show_trail=True) show_trail=True)
...@@ -314,9 +314,7 @@ class UrsinaSimulator(Simulator): ...@@ -314,9 +314,7 @@ class UrsinaSimulator(Simulator):
if cosmic_bg is not None and os.path.exists(cosmic_bg): if cosmic_bg is not None and os.path.exists(cosmic_bg):
self.cosmic_background(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: if self.show_timer:
self.create_timer() self.create_timer()
...@@ -353,6 +351,10 @@ class UrsinaSimulator(Simulator): ...@@ -353,6 +351,10 @@ class UrsinaSimulator(Simulator):
UrsinaEvent.on_ready() UrsinaEvent.on_ready()
# ui = UrsinaUI()
ctl = ControlUI(ControlHandler(), position=(0.6, 0.5))
ControlUI.current_ui = ctl
UrsinaEvent.after_ready() UrsinaEvent.after_ready()
self.app.run() self.app.run()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册