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

Python超人-宇宙模拟器

上级 76293ff0
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
# link :https://gitcode.net/pythoncr/ # link :https://gitcode.net/pythoncr/
# python_version :3.9 # python_version :3.9
# ============================================================================== # ==============================================================================
import threading
import time import time
import datetime import datetime
...@@ -165,15 +166,41 @@ class TwoWayFoilSim: ...@@ -165,15 +166,41 @@ class TwoWayFoilSim:
for b in self.two_dim_bodies: for b in self.two_dim_bodies:
b.planet.rotation_x = 90 b.planet.rotation_x = 90
def flatten_animation(self, body, flatten_body):
def flatten_update(planet, flatten_planet):
def warp():
planet.scale_y /= 1.05
# time.sleep(0.2)
if planet.scale_y < 10:
planet.enabled = False
flatten_planet.enabled = True
return warp
body.planet.update = flatten_update(body.planet, flatten_body.planet)
# for i in range(10):
# # body.planet.scale_y /= 2
# body.init_scale = [body.init_scale[0], body.init_scale[1] / 2, body.init_scale[2]]
# time.sleep(0.2)
# body.planet.enabled = False
# flatten_body.planet.enabled = True
# flatten_body.planet.x += 100000
def stage_01(self): def stage_01(self):
""" """
二向箔飞向太阳 二向箔飞向太阳
@return: @return:
""" """
if two_bodies_colliding(self.two_way_foil, self.sun): if two_bodies_colliding(self.two_way_foil, self.sun):
self.sun.planet.enabled = False # t = threading.Thread(target=self.flatten_animation, args=[self.sun, self.sun.two_dim])
self.sun.two_dim.planet.enabled = True # t.start()
self.sun.two_dim.planet.x += 100000 # for i in range(10):
# self.sun.planet.scale_y /= 0.5
# time.sleep(1)
# self.sun.planet.enabled = False
# self.sun.two_dim.planet.enabled = True
# self.sun.two_dim.planet.x += 100000
# two_way_foil.explode(sun) # two_way_foil.explode(sun)
self.two_way_foil.planet.enabled = False self.two_way_foil.planet.enabled = False
self.two_way_foil_circle.planet.alpha = 0.9 self.two_way_foil_circle.planet.alpha = 0.9
...@@ -214,8 +241,10 @@ class TwoWayFoilSim: ...@@ -214,8 +241,10 @@ class TwoWayFoilSim:
if hasattr(b, "two_way_time"): if hasattr(b, "two_way_time"):
if b.two_way_time is not None: if b.two_way_time is not None:
if time.time() - b.two_way_time > two_way_delay_times[idx]: if time.time() - b.two_way_time > two_way_delay_times[idx]:
b.planet.enabled = False t = threading.Thread(target=self.flatten_animation, args=[b, b.two_dim])
b.two_dim.planet.enabled = True t.start()
# b.planet.enabled = False
# b.two_dim.planet.enabled = True
b.two_way_time = None b.two_way_time = None
elif two_bodies_colliding(self.two_way_foil_circle, b): elif two_bodies_colliding(self.two_way_foil_circle, b):
b.two_way_time = time.time() b.two_way_time = time.time()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册