started implementing GameSkunkAdvance
This commit is contained in:
parent
1d32ce757f
commit
fb3a988375
|
@ -0,0 +1,62 @@
|
|||
package com.danitheskunk.skunkworks;
|
||||
|
||||
|
||||
import com.danitheskunk.skunkworks.audio.AudioEngine;
|
||||
import com.danitheskunk.skunkworks.gfx.Color;
|
||||
import org.lwjgl.glfw.GLFW;
|
||||
|
||||
public abstract class GameSkunkAdvance {
|
||||
protected BaseGamepad gamepad;
|
||||
private AudioEngine audioEngine;
|
||||
private Engine engine;
|
||||
private IWindow window;
|
||||
|
||||
public GameSkunkAdvance(String title) {
|
||||
engine = new Engine();
|
||||
window = engine.openWindow(new Vec2i(304, 176), title);
|
||||
window.setScaler("integer");
|
||||
window.setWindowSize(new Vec2i(1280, 720));
|
||||
gamepad = window.getGamepad(0);
|
||||
audioEngine = new AudioEngine(48000, 256, 8);
|
||||
}
|
||||
|
||||
public void run() {
|
||||
double lastTime, currentTime, delta, currentFrameTime;
|
||||
|
||||
currentFrameTime = 0;
|
||||
|
||||
lastTime = GLFW.glfwGetTime();
|
||||
while(!window.shouldClose()) {
|
||||
currentTime = GLFW.glfwGetTime();
|
||||
delta = currentTime - lastTime;
|
||||
lastTime = currentTime;
|
||||
currentFrameTime += delta;
|
||||
engine.tick();
|
||||
window.tick();
|
||||
gamepad.tick();
|
||||
//todo: frame rate control
|
||||
if(currentFrameTime >= 1.0 / 60.0) {
|
||||
update();
|
||||
var p2d = window.getPipeline2D();
|
||||
window.startFrame();
|
||||
p2d.startFrame();
|
||||
p2d.getRenderContext().clear(Color.WHITE);
|
||||
//render(p2d.getRenderContext());
|
||||
p2d.finishFrame();
|
||||
window.finishFrame();
|
||||
currentFrameTime -= 1.0 / 60.0;
|
||||
} else {
|
||||
try {
|
||||
Thread.sleep(1);
|
||||
} catch(InterruptedException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
audioEngine.refill();
|
||||
}
|
||||
}
|
||||
|
||||
protected void update() {
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
package com.danitheskunk.skunkworks;
|
||||
|
||||
public class TestGSA extends GameSkunkAdvance {
|
||||
public TestGSA() {
|
||||
super("Game Skunk Advance Test");
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
new TestGSA().run();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue