Exemple #1
0
 static List <Point2D?> ProjectJoints(Hand hand, TCamera camera)
 => hand.Joints.Where(j => j is not null).Select(j => camera.GetPixelPosition(j.Origin, true)).ToList();
Exemple #2
0
        static void Main(string[] args)
        {
            try
            {
                // Initialize
                LE.Initialize();
                LE.SetAppTitle(AppTitle);
                LE.RegisterAbstractPath(MediaDir);

                // Set graphics mode
                if (LE.Graphics(ScreenWidth, ScreenHeight) == 0)
                {
                    ErrOut("Failed to set graphics mode.");
                    return;
                }

                // Create framework object and set it to a global object so other scripts can access it
                TFramework fw = LE.CreateFramework();
                if (!fw.IsValid)
                {
                    ErrOut("Failed to initialize engine.");
                    return;
                }

                // Set Lua framework object
                LE.SetGlobalObject("fw", fw.Handle);

                // Set Lua framework variable
                IntPtr lua = LE.GetLuaState();
                LE.lua_pushobject(lua, fw.Handle);
                LE.lua_setglobal(lua, "fw");
                LE.lua_pop(lua, 1);

                // Get framework main camera
                TCamera camera = LE.GetLayerCamera(LE.GetFrameworkLayer(0));
                LE.PositionEntity(camera, new TVec3(7, 6, -6));
                LE.RotateEntity(camera, new TVec3(20, 0, 0));
                LE.CameraRange(camera, 1, 10000);

                // Add some light
                TLight light = LE.CreateDirectionalLight();
                LE.RotateEntity(light, new TVec3(45, 90, 0));

                //Create a plane
                TMesh plane = LE.CreatePlane();
                LE.PositionEntity(plane, new TVec3(0, 0, 0));
                LE.ScaleEntity(plane, new TVec3(1000, 0, 1000));

                //mouse variables
                float mx          = 0;
                float my          = 0;
                TVec3 camRotation = new TVec3(0);
                LE.HideMouse();

                // Spin cube until user hits Escape
                while (!LE.KeyHit() && !LE.AppTerminate())
                {
                    if (!LE.AppSuspended())
                    {
                        #region camera and movement
                        //cam keyboard movement
                        float sideways = LE.KeyDown(Keys.KEY_D) - LE.KeyDown(Keys.KEY_A);
                        float forward  = LE.KeyDown(Keys.KEY_W) - LE.KeyDown(Keys.KEY_S);
                        LE.MoveEntity(camera, new TVec3(sideways * LE.AppSpeed(), 0, forward * LE.AppSpeed()), 0);

                        //cam mouse movement
                        mx = LE.MouseX() - LE.GraphicsWidth() / 2;
                        my = LE.MouseY() - LE.GraphicsHeight() / 2;
                        LE.MoveMouse((int)(LE.GraphicsWidth() / 2), (int)(LE.GraphicsHeight() / 2));

                        //rotate the camera
                        camRotation = new TVec3(camRotation.X + (my / 10), camRotation.Y - (mx / 10), 0);
                        LE.RotateEntity(camera, camRotation);
                        #endregion

                        LE.UpdateFramework();
                        LE.RenderFramework();

                        //Drawing a cursos
                        LE.DrawRect(LE.GraphicsWidth() / 2 - 2, LE.GraphicsHeight() / 2 - 2, 4, 4);
                        LE.Flip(0);
                    }
                }
            }

            //  Catch Exceptions
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            //  Terminate
            finally
            {
                LE.Terminate();
            }
        }
Exemple #3
0
        static void Main(string[] args)
        {
            try
            {
                // Initialize
                LE.Initialize();
                LE.SetAppTitle(AppTitle);
                LE.RegisterAbstractPath(MediaDir);

                // Set graphics mode
                if (LE.Graphics(ScreenWidth, ScreenHeight) == 0)
                {
                    ErrOut("Failed to set graphics mode.");
                    return;
                }

                // Create framework object and set it to a global object so other scripts can access it
                TFramework fw = LE.CreateFramework();
                if (!fw.IsValid)
                {
                    ErrOut("Failed to initialize engine.");
                    return;
                }

                // Set Lua framework object
                LE.SetGlobalObject("fw", fw.Handle);

                // Set Lua framework variable
                IntPtr lua = LE.GetLuaState();
                LE.lua_pushobject(lua, fw.Handle);
                LE.lua_setglobal(lua, "fw");
                LE.lua_pop(lua, 1);

                // Get framework main camera
                TCamera camera = LE.GetLayerCamera(LE.GetFrameworkLayer(0));
                LE.PositionEntity(camera, new TVec3(7, 6, -6));
                LE.RotateEntity(camera, new TVec3(20, 0, 0));
                LE.CameraRange(camera, 1, 10000);

                // Add some light
                TLight light = LE.CreateDirectionalLight();
                LE.RotateEntity(light, new TVec3(45, 90, 0));

                //Create a plane
                TMesh plane = LE.CreatePlane();
                LE.PositionEntity(plane, new TVec3(0, 0, 0));
                LE.ScaleEntity(plane, new TVec3(1000, 0, 1000));

                //mouse variables
                float mx          = 0;
                float my          = 0;
                TVec3 camRotation = new TVec3(0);
                LE.HideMouse();

                //Making our grid
                Tile[,] grid = new Tile[AStartTest.gridWidth, AStartTest.gridHeight];
                TMesh cube = LE.CreateCube();
                TMesh ball = LE.CreateSphere(8);
                LE.HideEntity(cube);
                LE.HideEntity(ball);
                Random rand = new Random(62346);

                for (int i = 0; i < AStartTest.gridWidth; i++)
                {
                    for (int j = 0; j < AStartTest.gridHeight; j++)
                    {
                        //To walk or not to walk
                        if (rand.Next(0, 100) < 25)
                        {
                            //make a new tile
                            grid[i, j] = new Tile(new TVec2(i, j), new TVec3(0.8f), new TVec3(i * 1.3f, 0, j * 1.3f), cube, ball, false);
                        }
                        else
                        {
                            //make a new tile
                            grid[i, j] = new Tile(new TVec2(i, j), new TVec3(0.8f), new TVec3(i * 1.3f, 0, j * 1.3f), cube, ball, true);
                        }
                    }
                }

                //make a new Pathfinder
                Pathfinder path1 = new Pathfinder(grid);
                path1.SearchPath(new TVec2(0, 0), new TVec2(99, 98));

                Pathfinder path2 = new Pathfinder(grid);
                path2.SearchPath(new TVec2(0, 80), new TVec2(60, 12));

                // Spin cube until user hits Escape
                while (!LE.KeyHit() && !LE.AppTerminate())
                {
                    if (!LE.AppSuspended())
                    {
                        #region camera and movement
                        //cam keyboard movement
                        float sideways = LE.KeyDown(Keys.KEY_D) - LE.KeyDown(Keys.KEY_A);
                        float forward  = LE.KeyDown(Keys.KEY_W) - LE.KeyDown(Keys.KEY_S);
                        LE.MoveEntity(camera, new TVec3(sideways * LE.AppSpeed(), 0, forward * LE.AppSpeed()), 0);

                        //cam mouse movement
                        mx = LE.MouseX() - LE.GraphicsWidth() / 2;
                        my = LE.MouseY() - LE.GraphicsHeight() / 2;
                        LE.MoveMouse((int)(LE.GraphicsWidth() / 2), (int)(LE.GraphicsHeight() / 2));

                        //rotate the camera
                        camRotation = new TVec3(camRotation.X + (my / 10), camRotation.Y - (mx / 10), 0);
                        LE.RotateEntity(camera, camRotation);
                        #endregion

                        LE.UpdateFramework();
                        LE.RenderFramework();

                        //Drawing a cursos
                        LE.DrawRect(LE.GraphicsWidth() / 2 - 2, LE.GraphicsHeight() / 2 - 2, 4, 4);
                        LE.Flip(0);
                    }
                }
            }

            //  Catch Exceptions
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            //  Terminate
            finally
            {
                LE.Terminate();
            }
        }