DE

Tutorial 6 — Punktestände und Optionen speichern

Die Dateien des Spielers landen auf dem Desktop im Ordner var/ des Spiels und im Web im Speicher des Browsers (IndexedDB): derselbe Code.

// ein Highscore
$best = $this->engine->storage->readJson('scores.json', ['best' => 0]);
if ($this->score > $best['best']) {
    $this->engine->storage->writeJson('scores.json', ['best' => $this->score]);
}

// Einstellungen (sofort gespeichert)
$difficulty = $this->engine->options->get('difficulty', 'normal');
$this->engine->options->set('difficulty', 'hard');

Wenn die Seite verlassen oder das Fenster geschlossen wird, lässt das Ereignis close dich den Zustand sichern:

$this->engine->lifecycle()->on('close', fn () => $this->engine->storage->writeJson('partie.json', $this->state()));

Lies beim Build nie eine Datei des Spielers: Der Ordner var/ wird nicht veröffentlicht.