diff --git a/sim_scenes/solar_system/solar_system_reality.py b/sim_scenes/solar_system/solar_system_reality.py index f0fc2d082cfe67d7729fc5c8dc21a6174f7993ea..0dc84b6f539e94fab95c31ebf2e44da5d51a66aa 100644 --- a/sim_scenes/solar_system/solar_system_reality.py +++ b/sim_scenes/solar_system/solar_system_reality.py @@ -142,6 +142,9 @@ if __name__ == '__main__': Neptune(name="海王星", size_scale=10e2), # 海王星 ] + earth = bodies[3] + earth.rotate_axis_color = (255, 255, 50) + names = get_bodies_names(bodies) names = names.replace("Asteroids,", "") diff --git a/simulators/ursina/entities/planet.py b/simulators/ursina/entities/planet.py index 39cf14cd028a107c0ecc1b71a17b0937f9ce6912..35ab447a3c0eb2a492db912dd5d72b8c0d3e9eea 100644 --- a/simulators/ursina/entities/planet.py +++ b/simulators/ursina/entities/planet.py @@ -7,7 +7,7 @@ # python_version :3.8 # ============================================================================== # pip install -i http://pypi.douban.com/simple/ --trusted-host=pypi.douban.com ursina -from ursina import application,Entity, camera, color, Vec3, Text, load_texture, destroy, PointLight +from ursina import application, Entity, camera, color, Vec3, Text, load_texture, destroy, PointLight from simulators.ursina.entities.entity_utils import create_name_text, create_trails, clear_trails, create_rings, \ trail_init, create_fixed_star_lights @@ -196,8 +196,9 @@ class Planet(Entity): # 1.0 0.006373216398060322 0.006373216398060322 if hasattr(self.body, "rotate_axis_scale"): line_scale = self.body.rotate_axis_scale * line_scale - create_line(from_pos, to_pos, parent=self.main_entity, - len_scale=line_scale, color=line_color, thickness=2) + + self.rotate_axis_line = create_line(from_pos, to_pos, parent=self.main_entity, + len_scale=line_scale, color=line_color, thickness=2) def change_body_scale(self): if hasattr(self.body, "torus_stars") or hasattr(self.body, "torus_zone"): @@ -206,6 +207,11 @@ class Planet(Entity): else: self.scale = self.init_scale * UrsinaConfig.body_size_factor + if hasattr(self, "rotate_axis_line"): + if not hasattr(self, "rotate_axis_init_scale"): + self.rotate_axis_init_scale = self.rotate_axis_line.scale + self.rotate_axis_line.scale = self.rotate_axis_init_scale * UrsinaConfig.body_size_factor + def update(self): self.change_body_scale() @@ -319,7 +325,7 @@ class Planet(Entity): delattr(self, "label_name") else: self.label_name = create_label(parent=self, - label=self.body.name, - pos=Vec3(-0.5, -0.5, -0.5), - color=color.red) - self.label_name.set_light_off() \ No newline at end of file + label=self.body.name, + pos=Vec3(-0.5, -0.5, -0.5), + color=color.red) + self.label_name.set_light_off()