Esempio n. 1
0
        static void Main(string[] args)
        {
            Log.GlobalLevel = Log.Level.Debug;

            RenderWindow app = new RenderWindow(new VideoMode(800, 600), "HP!",
                Styles.Default, new ContextSettings(0, 0, 4));
            app.SetFramerateLimit(60);
            app.Closed += delegate { app.Close(); };
            app.SetVisible(true);
            app.SetActive(true);

            L.I("Assuming assets in \"assets\"");
            Assets assets = new Assets("assets");
            LoadAnimations(assets);

            Level level1 = assets.Level("level1.json");
            Game game = new Game(assets, level1);
            var view = new View();

            int lastFrameTime = Environment.TickCount;
            while (app.IsOpen) {
                app.DispatchEvents();

                float aspect = (float)app.Size.X / app.Size.Y;
                float targetWidth = 20, targetHeight = targetWidth / aspect;
                view.Reset(new FloatRect(0, 0, targetWidth, targetHeight));
                app.SetView(view);

                int ticks = Environment.TickCount;
                float delta = (ticks - lastFrameTime) / 1000F;
                lastFrameTime = ticks;

                game.Update(delta);
                game.Render(app);

                app.Display();
            }
        }