提交 3936b575 编写于 作者: 三月三net's avatar 三月三net

Python超人-宇宙模拟器

上级 935df579
...@@ -8,22 +8,42 @@ texture = load_texture("../../../objs/textures/core_valaga_clas.jpg") ...@@ -8,22 +8,42 @@ texture = load_texture("../../../objs/textures/core_valaga_clas.jpg")
camera_ship = Entity(model="../../../objs/models/core_valaga_clas.obj", camera_ship = Entity(model="../../../objs/models/core_valaga_clas.obj",
texture=texture, double_sided=True) texture=texture, double_sided=True)
shperes = [] bullets = []
targets = []
target1 = Entity(
# model="sphere",
model="../../../objs/models/drops.obj",
texture=load_texture("../../../objs/textures/rock_snow.jpg"),
collider='box',
position=Vec3(0, 0, 26000), scale=900)
targets.append(target1)
def create_sphere(): target2 = Entity(
shpere_l = Entity( # model="sphere",
model="../../../objs/models/drops.obj",
texture=load_texture("../../../objs/textures/rock_snow.jpg"),
collider='box',
position=Vec3(-8000, 0, 26000), scale=900)
targets.append(target2)
def create_bullets():
bullet_l = Entity(
# model="sphere", # model="sphere",
model="../../../objs/models/drops.obj", model="../../../objs/models/drops.obj",
texture=load_texture("../../../objs/textures/rock_snow.jpg"), texture=load_texture("../../../objs/textures/rock_snow.jpg"),
position=camera_ship.position+Vec3(-260,0,0), scale=500) collider='box',
shperes.append(shpere_l) position=camera_ship.position + Vec3(-260, 0, 0), scale=500)
shpere_r = Entity( bullets.append(bullet_l)
bullet_r = Entity(
# model="sphere", # model="sphere",
model="../../../objs/models/drops.obj", model="../../../objs/models/drops.obj",
texture=load_texture("../../../objs/textures/football.jpg"), texture=load_texture("../../../objs/textures/football.jpg"),
position=camera_ship.position+Vec3(260,0,0), scale=500) collider='box',
shperes.append(shpere_r) position=camera_ship.position + Vec3(260, 0, 0), scale=500)
bullets.append(bullet_r)
# camera.parent = camera_ship.planet # camera.parent = camera_ship.planet
...@@ -42,18 +62,44 @@ camera.rotation_x = 10 ...@@ -42,18 +62,44 @@ camera.rotation_x = 10
# application.time_scale = 1 # application.time_scale = 1
def update(): def update():
camera_ship.position += Vec3(0, 0, 10) camera_ship.position += camera_ship.forward * 2
camera_ship.rotation_y += 0.01 # camera_ship.rotation_y += 0.01
# camera.position = Vec3(0, 1000, -1000) # camera.position = Vec3(0, 1000, -1000)
for shpere in shperes: destroy_bullets = []
shpere.rotation_y = camera_ship.rotation_y destroy_targets = []
shpere.position += shpere.forward * 10 for bullet in bullets:
bullet.rotation_x = camera_ship.rotation_x
bullet.rotation_y = camera_ship.rotation_y
bullet.rotation_z = camera_ship.rotation_z
bullet.position += bullet.forward * 3
for target in targets:
if bullet.intersects(target):
if target not in destroy_targets and bullet not in destroy_bullets:
destroy_bullets.append(bullet)
destroy_targets.append(target)
for i in range(len(destroy_targets) - 1, -1, -1):
targets.remove(destroy_targets[i])
destroy(destroy_targets[i])
for i in range(len(destroy_bullets) - 1, -1, -1):
bullets.remove(destroy_bullets[i])
destroy(destroy_bullets[i])
if held_keys['a']:
camera_ship.rotation_y -= 0.03
if held_keys['d']:
camera_ship.rotation_y += 0.03
if held_keys['w']:
camera_ship.rotation_x -= 0.03
if held_keys['s']:
camera_ship.rotation_x += 0.03
def input(key): def input(key):
print(key) print(key)
if key == "space": if key == "space":
create_sphere() create_bullets()
# player = FirstPersonController() # player = FirstPersonController()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册