AWESOME ENGINE / TECHNISCHER LEITFADEN

Konfiguration

Einstellungen für Fenster, Zeit, Audio und Cursor sowie Grenzen der aktuellen JSON-Konfiguration.

Auf dieser Seite

Die Konfigurationsdatei

Die Engine liest Content/Config.json beim Erstellen des globalen Objekts gConfig. Dies ist der Inhalt der Referenzrevision:

{
  "windowTitle": "Awesome Engine",
  "windowSize": [800, 800],
  "frameRateLimit": 120,
  "disableSfmlLogs": true,
  "maximumDeltaTime": 0.03,
  "globalVolume": 100,
  "backgroundColor": [100, 100, 100],
  "cursorRadius": 5,
  "cursorSpeed": 800,
  "cursorColor": [255, 100, 0],
  "joystickDeadzone": 0.1
}

Was die einzelnen Werte steuern

Schlüssel Wirkung
windowTitle Titel des SFML-Fensters.
windowSize Anfangsgröße und Referenz für Renderziele und verschiedene Berechnungen der Spiele.
frameRateLimit Für das Fenster angeforderte Bildratenbegrenzung; standardmäßig 120, wenn der Schlüssel fehlt.
disableSfmlLogs Unterdrückt den SFML-Fehlerstream, wenn der Wert true ist.
maximumDeltaTime Maximaler Simulationszeitschritt in Sekunden, den TimeManager pro Frame liefert.
globalVolume Globale Lautstärke des SFML-Listeners.
backgroundColor RGB-Färbung des von RenderManager verwendeten Hintergrunds.
cursorRadius Radius des eigenen kreisförmigen Cursors.
cursorSpeed Geschwindigkeit des Cursors bei Steuerung mit dem Controller.
cursorColor RGB-Farbe des Cursors.
joystickDeadzone Schwelle, unter der kleine Stickbewegungen beim Bewegen des Cursors ignoriert werden.

Die Begrenzung auf 120 Frames ist eine Einstellung, keine Leistungsmessung. Sie bedeutet auch nicht, dass die Simulation einen festen Zeitschritt verwendet: Die Zeit variiert pro Frame und wird durch maximumDeltaTime begrenzt.

Die Konfiguration ändern

Ändere das JSON bei geschlossener Anwendung und starte sie erneut aus dem Repository-Stammverzeichnis. Die Konfiguration wird beim Start geladen; es gibt weder automatisches Neuladen noch ein Einstellungsfenster, das diese Werte schreibt.

Behalte die Schlüssel und Typen des Beispiels bei. Der Parser implementiert weder ein Validierungsschema noch Ersatzwerte für alle Felder. Eine fehlende Datei, ungültiges JSON oder ein falscher Pflichtschlüssel können den Start verhindern.

Änderungen an windowSize beeinflussen auch Spielcode, der gConfig.windowSize nutzt. Das entspricht keinem vollständigen System für dynamische Auflösung. Das Größenänderungsereignis erstellt die Nachbearbeitungstexturen nicht automatisch neu.

Konfiguration der einzelnen Spiele

Spielspezifische Parameter liegen in Games/Include/Config: BounceConfig.h, ClickerConfig.h, MemoryCardConfig.h, TicTacToeConfig.h, MineSweeperConfig.h, RunnerConfig.h und TetrisConfig.h.

Es handelt sich um C++-Konstanten; Änderungen erfordern eine Neukompilierung. Auch die Startszene wird nicht über Config.json gewählt: Sie ist mit ChangeScene("Tetris") im Konstruktor von Engine festgelegt.

Einstellungen der Website und der Engine

Die Auswahl zwischen hellem, dunklem und System-Design auf dieser Website verändert nur ihre Weboberfläche. Die Engine richtet TGUI mit Content/Themes/Dark.txt ein; die Dokumentation setzt nicht voraus, dass die Web-Designauswahl im Programm existiert.

Quellen

Basiert auf geprüftem Quellcode.Ein Problem gefunden? →