From 07b1f60f279dccf329608a737a6ef340c462e485 Mon Sep 17 00:00:00 2001 From: Marcus Gosselin Date: Tue, 23 Feb 2016 13:23:19 -0500 Subject: [PATCH] Revert "Revert "brought back the buffer trategy"" This reverts commit 504d09d8f82a1ebe4362fda641c303907f6c42e0. --- src/diveengine2d/Engine.java | 42 ++++++++++++++---------------------- 1 file changed, 16 insertions(+), 26 deletions(-) diff --git a/src/diveengine2d/Engine.java b/src/diveengine2d/Engine.java index 1c2468e..fb6ce23 100644 --- a/src/diveengine2d/Engine.java +++ b/src/diveengine2d/Engine.java @@ -19,6 +19,7 @@ public class Engine extends Canvas { public static int WIDTH, HEIGHT; public static String startScene = null; public static String name = null; + public static BufferStrategy bs; public Engine(String gameFolder) { @@ -60,34 +61,23 @@ public class Engine extends Canvas { this.requestFocus(); this.addKeyListener(new Input()); - //createBufferStrategy(2); - //bs = getBufferStrategy(); - - Time.nanos = System.nanoTime(); + createBufferStrategy(2); + bs = getBufferStrategy(); while(true) { - - Time.startTime = System.currentTimeMillis(); - if (System.currentTimeMillis() > Time.nextSecond) { - Time.nextSecond += 1000; - Time.FPS = Time.framesInCurrentSecond; - Time.framesInCurrentSecond = 0; - //System.out.println("FPS: " + Time.FPS); - } - Time.framesInCurrentSecond++; - - render(); + long startTime = System.currentTimeMillis(); updateScene(); - Time.tickTime = (System.nanoTime() - Time.nanos)/1000d; - Time.deltaTime = Time.tickTime * Time.timeScale; - Time.nanos = System.nanoTime(); -// System.out.println("dTime: " + Time.deltaTime); + Graphics2D g = (Graphics2D)bs.getDrawGraphics(); + render(g); + bs.show(); + int elapsed = (int)(System.currentTimeMillis() - startTime); + try{ + Thread.sleep(17 - elapsed); + }catch(Exception e) { + + } } - - } - - private void render() { - repaint(); + } private void updateScene() { @@ -154,8 +144,8 @@ public class Engine extends Canvas { } - public void update(Graphics g) { - SceneManager.render((Graphics2D)g); + private void render(Graphics2D g) { + SceneManager.render(g); g.setColor(Color.BLACK); } }