00
:
00
:
00
:
00
Corso SEO AI - Usa SEOEMAIL al checkout per il 30% di sconto

Ciclo di Vita dell'Applicazione

L’interfaccia ApplicationListener

Ogni gioco LibGDX deve implementare l’interfaccia ApplicationListener. Spesso si estende la classe ApplicationAdapter per avere implementazioni vuote di default.

```java public class MyGdxGame extends ApplicationAdapter {

@Override
public void create() {
    // Chiamato una volta all'avvio.
    // Carica qui asset (immagini, suoni).
}

@Override
public void render() {
    // Chiamato ogni frame (60 volte al secondo).
    // Pulisci lo schermo, aggiorna la logica, disegna.
}

@Override
public void resize(int width, int height) {
    // Chiamato quando la finestra cambia dimensione.
    // Aggiorna qui la viewport della camera.
}

@Override
public void pause() {
    // Chiamato su Android quando l'app va in background (es. arriva una chiamata).
    // Salva lo stato del gioco qui.
}

@Override
public void resume() {
    // Chiamato quando l'app torna in primo piano.
    // Ricarica risorse perse (texture non gestite).
}

@Override
public void dispose() {
    // Chiamato alla chiusura.
    // IMPORTANTISSIMO: Libera la memoria nativa (texture, batch, suoni).
    // Se non lo fai -> Memory Leak!
}

} ```

Esempio Render Loop

```java SpriteBatch batch; Texture img;

@Override public void create() { batch = new SpriteBatch(); img = new Texture(“badlogic.jpg”); }

@Override public void render() { ScreenUtils.clear(1, 0, 0, 1); // Pulisci schermo (Rosso)

batch.begin();
batch.draw(img, 0, 0); // Disegna immagine
batch.end();

}

@Override public void dispose() { batch.dispose(); img.dispose(); } ```