Exemple #1
0
                  -(z / z_slices) - (1 / x_slices / 2))
    grid[x][z].model.vertices.extend([
        terrain.model.generated_vertices[i] + offset,
        terrain.model.generated_vertices[i + 1] + offset,
        terrain.model.generated_vertices[i + 2] + offset,
    ])

for z in range(z_slices):
    for x in range(x_slices):
        grid[x][z].model.generate()
        # Entity(parent=grid[x][z], model='cube', scale=.01, color=color.red, always_on_top=True)
        # grid[x][z].enabled = False

        grid[x][z].collider = 'mesh'
        # grid[x][z].model = None

from ursina.prefabs.first_person_controller import FirstPersonController
player = FirstPersonController(position=(0, 200, 0))
player.add_script(NoclipMode())
# player = EditorCamera(rotation_x=90, y=128)


def update():
    for part in terrain.children:
        part.enabled = distance_xz(part.world_position,
                                   player.world_position) < 256 / 8
        # print(distance_xz(part.world_position, camera.world_position), 256/4)


app.run()
Exemple #2
0
def update():
    if not level.bow.enabled and mouse.hovered_entity in (
            level.chest, level.chest_lid) and distance_xz(
                player.position, level.chest.position) < 6:
        level.chest.color = color.color(90, .4, .8)
        level.chest_lid.color = color.color(90, .4, .8)
    else:
        level.chest.color = orginal_chest_color
        level.chest_lid.color = orginal_chest_color


def open_gate():
    destroy(level.eye)
    destroy(level.eye_trigger)
    level.gate.animate_position(level.gate.position + (level.gate.left) * 10,
                                duration=5,
                                curve=curve.linear)
    level.gate_001.animate_position(level.gate_001.position +
                                    (level.gate_001.right) * 10,
                                    duration=5,
                                    curve=curve.linear)


Sky(texture='castaway_sky')
# EditorCamera()
if application.development_mode:
    player.add_script(NoclipMode(speed=32))

app.run()