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

Python超人-宇宙模拟器

上级 2dd49bd9
...@@ -84,7 +84,7 @@ class WormholeSim: ...@@ -84,7 +84,7 @@ class WormholeSim:
for u in self.universes: for u in self.universes:
self.scale_down(u) self.scale_down(u)
# u.planet.enabled = False u.planet.enabled = False
self.last_universe = self.current_universe self.last_universe = self.current_universe
self.current_universe = self.universes[self.current_idx] self.current_universe = self.universes[self.current_idx]
...@@ -95,9 +95,11 @@ class WormholeSim: ...@@ -95,9 +95,11 @@ class WormholeSim:
self.camera_target.go_target_hit = False self.camera_target.go_target_hit = False
else: else:
self.camera_target.go_target = self.last_universe self.camera_target.go_target = self.last_universe
self.last_universe.planet.enabled = True
self.camera_target.go_target_stage = "last_universe" self.camera_target.go_target_stage = "last_universe"
self.camera_target.go_target_hit = False self.camera_target.go_target_hit = False
self.scale_up(self.current_universe) self.scale_up(self.current_universe)
# self.scale_down(self.target_universe) # self.scale_down(self.target_universe)
...@@ -171,12 +173,12 @@ class WormholeSim: ...@@ -171,12 +173,12 @@ class WormholeSim:
self.camera_target.go_target_hit = True self.camera_target.go_target_hit = True
self.camera_target.go_target_stage == "target_universe" self.camera_target.go_target_stage == "target_universe"
self.camera_target.go_target = self.target_universe self.camera_target.go_target = self.target_universe
self.camera_target.speed = 100 self.camera_target.speed = 500
camera.speed = 100 # TODO:这个不能反复执行 camera.speed = 1 # 在看上一个宇宙时候,停留一会
elif self.camera_target.go_target_stage == "target_universe": elif self.camera_target.go_target_stage == "target_universe":
if self.camera_target.planet.intersects(go_target).hit and not self.camera_target.go_target_hit: if self.camera_target.planet.intersects(go_target).hit and not self.camera_target.go_target_hit:
self.camera_target.go_target_hit = True self.camera_target.go_target_hit = True
camera.speed = 1000 # TODO:这个不能反复执行 # camera.speed = 3000 # TODO:这个不能反复执行
# self.camera_target.planet.position += self.camera_target.planet.forward*100 # self.camera_target.planet.position += self.camera_target.planet.forward*100
# print(self.camera_target.planet.position) # print(self.camera_target.planet.position)
...@@ -185,6 +187,7 @@ class WormholeSim: ...@@ -185,6 +187,7 @@ class WormholeSim:
camera.speed = 5000 camera.speed = 5000
dd = distance(camera.position, self.target_universe.planet.position) dd = distance(camera.position, self.target_universe.planet.position)
if camera.speed != 0:
camera.position = lerp(camera.position, self.target_universe.planet.position, camera.speed * time.dt / dd) camera.position = lerp(camera.position, self.target_universe.planet.position, camera.speed * time.dt / dd)
# camera.position += camera.forward * 2 # camera.position += camera.forward * 2
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册