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.