Spiel-Update in Libgdx

7

In libgdx ist die Spieleschleife die render () -Methode. Aber warum ist das so und gibt es eine Möglichkeit, eine update () -Methode zu erstellen, die 60 Mal pro Sekunde aufgerufen wird? Wie bei der update () -Methode würde ich die Spielelogik hinzufügen und das Rendern der Rendermethode überlassen. Grundsätzlich separate Methoden und die update () -Methode, die 60 Mal pro Sekunde mit Libgdx mit Java aufgerufen wird.

user43353
quelle
1
Ich denke, Sie sollten etwas länger warten, um eine Antwort zu akzeptieren. Diese Frage wurde nur 9 Mal angesehen (zum Zeitpunkt des Schreibens). Es ist normalerweise am besten, ein wenig zu warten, um zu sehen, ob weitere Antworten
Lysol

Antworten:

6

In libGDX gibt es keine spezifische Spielschleife, da diese ereignisgesteuert ist. Trotzdem können Sie die Rendermethode als Hauptschleife sehen.

Sie haben es richtig gemacht - normalerweise aktualisieren Sie hier die Spielelogik, bevor Sie das Rendern durchführen.

Sie können eine Klasse erstellen, die für die Logik verantwortlich ist, und eine Klasse, die für das Rendern verantwortlich ist. Dann schreiben Sie in Ihre Rendermethode

@Override
public void render(float deltaTime) {
    if(!paused)
        LogicClass.update(deltaTime);
    Gdx.gl.glClearColor(0, 0, 0, 0);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    RenderClass.render(deltaTime);
}

Weitere Informationen zum Lebenszyklus in libGDX finden Sie im Wiki auf github: https://github.com/libgdx/libgdx/wiki/The-life-cycle .

Mihail Ivanov
quelle
Hmmm ... Das könnte funktionieren: D Ich muss nur herausfinden, wie ich es 60 Mal pro Sekunde aktualisieren kann.
user43353
Sie können die FPS begrenzen, indem Sie die Konfiguration ändern. Dies ist eine ähnliche Frage wie Ihre und Sie werden die Antwort nützlich finden: Link
Mihail Ivanov