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

Python超人-宇宙模拟器

上级 a40da510
......@@ -165,16 +165,16 @@ class System(object):
return True
# self.bodies = list(filter(valid_body, self.bodies))
for body1 in self.bodies:
if body1.ignore_mass:
continue
valid_bodies = list(filter(lambda b:not b.ignore_mass, self.bodies))
for body1 in valid_bodies:
# if body1.ignore_mass:
# continue
if not valid_body(body1):
continue
acceleration = np.zeros(3)
for body2 in self.bodies:
if body2.ignore_mass:
continue
for body2 in valid_bodies:
# if body2.ignore_mass:
# continue
if self.max_distance > 0:
if calculate_distance(body1.position) > self.max_distance: # 超过了max_distance距离,则消失
body1.appeared = False
......
......@@ -8,7 +8,7 @@
# ==============================================================================
from bodies import Sun, Earth
from common.consts import SECONDS_PER_WEEK, SECONDS_PER_DAY, AU
from sim_scenes.func import ursina_run
from sim_scenes.func import ursina_run, camera_look_at
from simulators.ursina.entities.body_timer import TimeData
from simulators.ursina.ursina_event import UrsinaEvent
from ursina import camera
......@@ -77,15 +77,14 @@ if __name__ == '__main__':
"""
for e in [earth_1, earth_2, earth_3, earth_4]:
if term_name == e.name:
e.planet.name_text.enabled = False
e.name_text.enabled = False
else:
e.planet.name_text.enabled = True
e.name_text.enabled = True
def on_timer_changed(time_data: TimeData):
# 摄像机始终看向移动的地球
camera.look_at(earth.planet)
camera.rotation_z = 0
camera_look_at(earth, rotation_z=0)
# 根据角度范围判断,显示中国农历24节气
for info in solar_terms_angles:
if info[1] <= camera.rotation_y < info[2]:
......@@ -93,7 +92,7 @@ if __name__ == '__main__':
# 控制4个透明地球文本是否显示,防止地球文字的叠加
earth_text_dispaly(term_name)
# 地球名称文字显示为相应的节气
earth.planet.name_text.text = term_name
earth.name_text.text = term_name
# print(camera.rotation_y)
......
......@@ -41,6 +41,7 @@ def create_name_text(parent):
name_text.set_light_off()
name_text.color = color.rgba(text_color[0], text_color[1], text_color[2], 1)
parent.name_text = name_text
parent.body.name_text = name_text
return name_text
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册