Newer
Older
JumpingGame / src / main / java / GameEngine.java
k-fujii on 16 Nov 2021 1 KB コメントの追加
import static org.lwjgl.opengl.GL11.*;

//---------------------------------------------------------------
// ゲームループ提供
public abstract class GameEngine {

    private GLWindow glWindow = new GLWindow();

    //---------------------------------------------------------------
    //---------------------------------------------------------------
    // 初期化
    protected void init() {
    }

    //---------------------------------------------------------------
    // ゲームループ
    protected void update() {
    }

    //---------------------------------------------------------------
    // 破棄処理
    protected void destroy() {
    }

    //---------------------------------------------------------------
    //---------------------------------------------------------------
    // 実行系の本体
    protected void run() {

        // 初期化
        glWindow.init();
        init();

        // メインループ
        while (!glWindow.windowShouldClose()) {
            glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // バッファのクリア
            update();
            glWindow.swapWindow();
        }

        // 終了処理
        destroy(); // デストラクタ
        glWindow.destroyWindow(); // ウィンドウの破棄
    }
    //---------------------------------------------------------------
}