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

Python超人-宇宙模拟器

上级 f235ed70
......@@ -201,6 +201,8 @@ def find_texture(texture, default_val=""):
if os.path.exists(texture):
return texture
paths = [
os.path.join('..', '..', '..', 'objs', 'textures'),
os.path.join('..', '..', '..', 'textures'),
os.path.join('..', '..', 'textures'),
os.path.join('..', '..', 'objs', 'textures'),
os.path.join('..', 'textures'),
......
......@@ -484,7 +484,10 @@ class Obj(metaclass=ABCMeta):
return body_data
def show_demo(self, size_scale=10000, on_ready_fun=None, on_timer_changed_fun=None):
def show_demo(self, size_scale=10000,
position=(0, 3000000, -9000000),
on_ready_fun=None,
on_timer_changed_fun=None):
from sim_scenes.func import ursina_run
from sim_scenes.func import camera_look_at
from simulators.ursina.ursina_event import UrsinaEvent
......@@ -495,18 +498,21 @@ class Obj(metaclass=ABCMeta):
def on_ready():
camera_look_at(self)
if callable(on_ready_fun):
on_ready_fun()
on_ready_fun()
def on_timer_changed(time_data):
if callable(on_timer_changed_fun):
on_timer_changed_fun(time_data)
on_timer_changed_fun(time_data)
UrsinaEvent.on_ready_subscription(on_ready)
if callable(on_ready_fun):
UrsinaEvent.on_ready_subscription(on_ready)
UrsinaEvent.on_timer_changed_subscription(on_timer_changed)
if callable(on_timer_changed_fun):
UrsinaEvent.on_timer_changed_subscription(on_timer_changed)
timer_enabled = True
else:
timer_enabled = False
ursina_run(bodies=[self], position=(0, 3000000, -9000000))
ursina_run(bodies=[self], position=position, timer_enabled=timer_enabled)
if __name__ == '__main__':
......
......@@ -12,7 +12,11 @@ shperes = []
def create_sphere():
shpere = Entity(model="sphere", position=camera_ship.position, scale=30)
shpere = Entity(
# model="sphere",
model="../../../objs/models/drops.obj",
texture=load_texture("../../../objs/textures/rock_snow.jpg"),
position=camera_ship.position, scale=500)
shperes.append(shpere)
......@@ -26,7 +30,7 @@ create_sphere_sky(scale=5000000)
camera.parent = camera_ship
camera.reparent_to(camera_ship)
camera.position = [0, 1000, -3000]
camera.rotation_x = 20
camera.rotation_x = 10
# application.time_scale = 1
......@@ -36,8 +40,8 @@ def update():
camera_ship.rotation_y += 0.01
# camera.position = Vec3(0, 1000, -1000)
for shpere in shperes:
shpere.position += Vec3(0, 0, 100)
shpere.rotation_y = camera_ship.rotation_y
shpere.position += shpere.forward * 10
def input(key):
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册