From cd6366ea8d099282be2e85906712d42da84b91fb Mon Sep 17 00:00:00 2001 From: march3 Date: Fri, 21 Apr 2023 22:26:41 +0800 Subject: [PATCH] =?UTF-8?q?Python=E8=B6=85=E4=BA=BA-=E5=AE=87=E5=AE=99?= =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sim_scenes/science/jupiter_rocks.py | 3 ++- simulators/ursina_simulator.py | 12 ++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/sim_scenes/science/jupiter_rocks.py b/sim_scenes/science/jupiter_rocks.py index ff9239d..f2ea163 100644 --- a/sim_scenes/science/jupiter_rocks.py +++ b/sim_scenes/science/jupiter_rocks.py @@ -22,7 +22,8 @@ if __name__ == '__main__': # 木星在中心位置 jupiter = Jupiter(init_position=[0, 0, 0], init_velocity=[0, 0, 0], - rotation_speed=0, size_scale=1) + # rotation_speed=0, + size_scale=1) bodies = [jupiter] rocks = [] diff --git a/simulators/ursina_simulator.py b/simulators/ursina_simulator.py index 390c010..badc0ca 100644 --- a/simulators/ursina_simulator.py +++ b/simulators/ursina_simulator.py @@ -97,7 +97,7 @@ class UrsinaSimulator(Simulator): explosion_file = os.path.join(explosion_file, "explosion") # volume = body.planet.model.volume volume = pow(body.planet.model.get_bounds().volume, 1 / 3) / 2000 - ani = Animation(explosion_file, + explode_ani = Animation(explosion_file, position=body.planet.position, scale=volume * 2, fps=6, loop=False, autoplay=True) @@ -105,11 +105,15 @@ class UrsinaSimulator(Simulator): if target is not None: if hasattr(target, "planet"): if hasattr(target.planet, "main_entity"): - ani.look_at(target.planet.main_entity) + explode_ani.world_parent = target.planet.main_entity + explode_ani.look_at(target.planet.main_entity) else: - ani.look_at(target.planet) + explode_ani.world_parent = target.planet + explode_ani.look_at(target.planet) else: - ani.look_at(target) + explode_ani.world_parent = target + explode_ani.look_at(target) + return explode_ani body.look_at = body_look_at body.set_visible = body_visible -- GitLab