Exemplo n.º 1
0
        public static void Start(GameLoopBase gameLoop)
        {
            int msInterval = 1000 / 60;

            Stopwatch sw = new Stopwatch();

            currentGameLoop = gameLoop;

            while (true)
            {
                sw.Restart();
                Loop();

                if (currentGameLoop.End())
                {
                    break;
                }

                int ms = (int)sw.ElapsedMilliseconds;
                if (ms < msInterval)
                {
                    Thread.Sleep(msInterval - ms);
                }
            }
        }
Exemplo n.º 2
0
        private static void Loop()
        {
            GameLoopBase loop = currentGameLoop;

            loop.Update();
            loop.Render();
            Screen.Flush();
        }
Exemplo n.º 3
0
 public static void ChangeLoop(GameLoopBase gameLoop)
 {
     currentGameLoop = gameLoop;
 }