コード例 #1
0
        private static void Main()
        {
            var windowThread = new Thread(new ThreadStart(() =>
            {
                var game          = new SimulationWindow("Physics Simulation", 800, 600, focusBody);
                game.UpdateFrame += OnUpdateFrame;
                game.Disposed    += OnDisposed;
                game.SetView(new CameraView());

                var physicsDrawer = new DrawPhysics(game);

                // physicsDrawer.AppendFlags(DrawFlags.Aabb);

                physicsDrawer.AppendFlags(DrawFlags.Shape);

                // physicsDrawer.AppendFlags(DrawFlags.Pair);

                physicsDrawer.AppendFlags(DrawFlags.Joint);

                world.SetDebugDraw(physicsDrawer);

                // CreateBodies();

                game.VSync = OpenTK.VSyncMode.Off;
                game.Run(60.0, 60.0);
            }));

            windowThread.Start();
        }
コード例 #2
0
        private static void Main()
        {
            var openTkWindow = new ThreadStart(() =>
            {
                const string WINDOW_TITLE = "Physics Simulation";
                const int SCREEN_WIDTH    = 800;
                const int SCREEN_HEIGHT   = 600;

                var game       = new PhysicsSimulationWindow(WINDOW_TITLE, SCREEN_WIDTH, SCREEN_HEIGHT);
                game.Load     += OnGameLoaded;
                game.Disposed += OnDisposed;

                var physicsDrawer = new DrawPhysics(game);
                physicsDrawer.AppendFlags(DebugDraw.DrawFlags.Aabb);
                physicsDrawer.AppendFlags(DebugDraw.DrawFlags.Shape);

                world = CreateWorld();
                world.SetDebugDraw(physicsDrawer);

                CreateBodies();

                game.Run(60.0, 60.0);
            });
            var openTkThread = new Thread(openTkWindow);

            openTkThread.Start();
        }