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

Python超人-宇宙模拟器

上级 deadd2c8
......@@ -112,6 +112,8 @@ def ursina_run(bodies,
cosmic_bg=None,
bg_music=None,
show_grid=True,
show_camera_info=True,
show_control_info=True,
grid_position=None,
grid_scale=None,
show_trail=False,
......@@ -129,6 +131,8 @@ def ursina_run(bodies,
@param cosmic_bg: 宇宙背景图片
@param bg_music: 背景音乐
@param show_grid: 是否显示空间网格
@param show_camera_info: 是否显示摄像机信息面板
@param show_control_info: 是否显示控制信息面板
@param show_trail: 是否显示拖尾
@param show_name: 是否显示天体名称
@param show_timer: 是否显示计时器
......@@ -158,9 +162,9 @@ def ursina_run(bodies,
view_azimuth = 0 # 暂时未用
player = UrsinaPlayer(position, view_azimuth, simulator.ursina_views)
if save_as_video:
from common.video_recorder import VideoRecorder
vr = VideoRecorder()
# if save_as_video:
# from common.video_recorder import VideoRecorder
# vr = VideoRecorder()
def callback_update():
UrsinaEvent.on_application_run()
......@@ -169,13 +173,17 @@ def ursina_run(bodies,
if ursina_view.appeared:
ursina_view.update()
if save_as_video:
vr.screenshot()
# if save_as_video:
# vr.screenshot()
import sys
from simulators.ursina.ursina_config import UrsinaConfig
from simulators.ursina.ursina_event import UrsinaEvent
sys.modules["__main__"].update = callback_update
UrsinaConfig.show_camera_info = show_camera_info
UrsinaConfig.show_control_info = show_control_info
if show_trail:
UrsinaConfig.show_trail = show_trail
simulator.run(dt,
......
......@@ -100,8 +100,8 @@ def on_timer_changed(time_data: TimeData):
init.text_panel.text = text.replace("${speed}", str(round(velocity / LIGHT_SPEED, 1)) + "倍光速")
init._3d_card.switch_color()
light_ship.switch_position()
if time_data.total_seconds > 20:
wait_for(0.3)
# if time_data.total_seconds > 20:
# wait_for(0.03)
# 订阅重新开始事件
......@@ -153,7 +153,10 @@ init.body_arrived = body_arrived
ursina_run(bodies, 10,
position=init.camera_position,
# show_trail=init.show_trail,
show_timer=True,
# show_timer=True,
show_camera_info=False,
show_control_info=False,
timer_enabled=True,
view_closely=init.view_closely,
# bg_music="sounds/interstellar.mp3"
)
......@@ -33,12 +33,16 @@ class ControlHandler(EventHandler):
self.settings_handler = Entity(ignore_paused=True)
self.settings_handler.input = self.settings_handler_input
key_info_str = "方位控制[键盘QWEASD]+[鼠标右键],按[空格]更多控制"
key_info = Text(text=key_info_str, font=UrsinaConfig.CN_FONT, position=(-1, 0.5), origin=(-1, 1),
background=True)
if UrsinaConfig.show_control_info:
key_info = Text(text=key_info_str, font=UrsinaConfig.CN_FONT, position=(-1, 0.5), origin=(-1, 1),
background=True)
self.camera_info = Text(text="", scale=0.8, position=(0, -0.45), origin=(0, 1),
background=False)
if not UrsinaConfig.show_camera_info:
self.camera_info.enabled = False
def camera_update(self):
pos = camera.position # WS => [2]
w_pos = camera.world_rotation # 鼠标右键
......
......@@ -35,6 +35,9 @@ class UrsinaConfig:
__on_reset_funcs = []
show_trail = False
show_camera_info = True
show_control_info = True
# 拖尾球体的数量
trail_length = 100
# 拖尾的类型(球体、线条)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册