Пример #1
0
 def Update(self):
     movement_speed = self.GetTime().GetFrameTime() * 20.0
     if (self.GetInput().IsMouseDown(eg.InputMouse.right)):
         self.GetScene().GetCurrentCamera().RotateByMouse(self.GetInput().GetMouseDelta())
     if (self.GetInput().IsKeyDown(eg.InputKey.w)):
         self.GetScene().GetCurrentCamera().Move(eg.vec3(0.0, 0.0, -movement_speed))
     if (self.GetInput().IsKeyDown(eg.InputKey.s)):
         self.GetScene().GetCurrentCamera().Move(eg.vec3(0.0, 0.0, movement_speed))
     if (self.GetInput().IsKeyDown(eg.InputKey.a)):
         self.GetScene().GetCurrentCamera().Move(eg.vec3(-movement_speed, 0.0, 0.0))
     if (self.GetInput().IsKeyDown(eg.InputKey.d)):
         self.GetScene().GetCurrentCamera().Move(eg.vec3(movement_speed, 0.0, 0.0))
     if (self.GetInput().IsKeyDown(eg.InputKey.space)):
         self.GetScene().GetCurrentCamera().Move(eg.vec3(0.0, movement_speed, 0.0))
     if (self.GetInput().IsKeyDown(eg.InputKey.c)):
         self.GetScene().GetCurrentCamera().Move(eg.vec3(0.0, -movement_speed, 0.0))
Пример #2
0
def main():
    # Setup Game Window
    window = eg.Window(800.0, 600.0, 32, False, "Element Games Python Test")
    scene = eg.Scene()
    game = TestGame(window, scene)

    # Setup Camera Object
    camera = eg.Camera(45.0, eg.ivec2(800, 600), eg.vec2(0.01, 150.0))
    camera.ComputeProjectionMatrix()
    camera.Update()
    camera.ComputeViewMatrix()
    scene.SetCurrentCamera(camera)
    camera_object = eg.Object("test_camera")
    camera_attribute = eg.ObjectAttributeRenderingCamera(camera)
    camera_object.AddAttribute(camera_attribute)
    scene.GetObjectManager().AddObject(camera_object)

    # Setup Sky Sphere
    sphere = eg.GenerateSphere(8, 8)
    scene.GetMeshManager().Add("sphere", sphere)
    sky_sphere = eg.Object("SkySphere")
    texture = eg.Texture("Assets/Textures/sky.png", True, 16.0)
    scene.GetTextureManager().AddTexture("starfield_decal", texture)
    trans = eg.mat4()
    trans = eg.scale(trans, eg.vec3(50.0, 50.0, 50.0))
    trans_attr = eg.ObjectAttributeBasicTransformation(trans)
    sky_sphere.AddAttribute(trans_attr)
    material = eg.RenderingMaterial()
    material.SetLit(False)
    material.SetCastsShadows(False)
    material.SetTexture(eg.TextureType.decal, "starfield_decal")
    mesh_attribute = eg.ObjectAttributeRenderingMesh("sphere", material)
    sky_sphere.AddAttribute(mesh_attribute)
    scene.GetObjectManager().AddObject(sky_sphere)

    # Game Loop
    while window.IsOpened():
        game.Update()
        game.Render()
    window.Close()