Ich habe eine Spielklasse mit meinen wichtigsten Spielfunktionen und Instanzen von Spielobjekten wie Bildschirm usw. Mein Spiel wird mit C ++ und SDL erstellt.
Ich fragte mich jedoch, ob Main hauptsächlich eine Funktion meiner Klasse sein sollte. Oder sollte ich "Game Game" machen? von "int main ();" und haben die Schleife in main?
Mein Zweifel ist - wenn ich es von einem externen Main mache, dann müssen die meisten meiner Sachen öffentlich sein, und das ist irgendwie schlecht, nicht wahr?
Irgendwelche Ideen? Vielen Dank!
Antworten:
Sie können eine einzelne öffentliche Methode in Ihrer
Game
Klasse haben, die als Einstiegspunkt dient (z. B. eine aufgerufene MethodeRun()
). Dannmain()
müssten Sie nur noch diese Methode aufrufen, um alles zum Laufen zu bringen - nichts weiter.Die
Run()
Methode könnte beginnen, indem alle Subsysteme initialisiert werden und dann in die Hauptspielschleife eintreten. Es sollte auch dafür sorgen, dass alles ordnungsgemäß heruntergefahren wird, sobald die Schleife endet.Alles andere in der Klasse kann privat bleiben (oder geschützt sein, wenn Sie ein konkretes Spiel erstellen möchten, indem Sie davon erben), da es nur von Ihrer Spielimplementierung benötigt wird.
Beispiel
Hinweis: Völlig nackte Knochen, keine Timing-Berechnungen, extrem vereinfachte Spielschleife, nur ein Beispiel für den Einstieg. Für ein tatsächliches Spiel sollte es wahrscheinlich viel komplexer sein als dieses:
Und zu Ihrer
main()
Methode:quelle