Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Einige Klassen (und damit deren ableitungen) haben neben der Funktion um Grafische dinge zu initilisieren noch eine initialize Methode um nicht Grafische dinge zu initialisieren, ich tu mich nun etwas schwer damit zu verstehen, wann genau es sinnvoll ist diese initialize Methode zu verwenden anstelle das ganze einfach über denn Konstruktor zu machen.
Gibt es da irgendwelche Regeln, Weisheiten, Guidlines [...]
Alles was einen Fehler erzeugen kann, gehört in eine Init-Methode. Warum?
Was gibt es schlimmeres als gar kein Objekt im Speicher? Genau! Ein beschädigtes Objekt im Speicher das nicht funktioniert.
Btw kann es auch sein, dass man ein Objekt noch gar nicht komplett beim Konstruktoraufruf initialisieren möchte.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (30.11.2012, 19:35)
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Renegade123« (30.11.2012, 20:36)
Community-Fossil
PS: Warum bist du so stachelig ?
McShaffry führt auch dann recht schnell auf, dass globale Zeiger besser sind als globale Variablen. Dabei meint er, man soll diese Initializieren, wenn man "good and ready" ist.
Klar. Ein AudioSystem, ein VideoSystem oder ein anders großes System was Subsysteme inne hat.
Hast du das Buch Game Coding Complete von Mike McShaffry und David "Rez" Graham?
Warum sagt Mike McShaffry das?
1. Systeme wie AudioSystem oder VideoSystem sind komplizierte Systeme die Untersysteme beinhalten können.
2. Es geht nicht um Ausnahme Behandlung, sondern um Wiederherstellungs Mechanismen. Das bedeutet, man soll dem Spieler eine Chance geben, zu handeln, wenn Fehler auftreten.
3. Du hast keine Kontrolle darüber, in welcher Reihenfolge globale Variablen intialisiert werden.
4. Konstruktoren haben keinen Rückgabewert und es kann sein, das man den Fehler auf hässliche Weise suchen muss.
5. Fehler möchte man womöglich mit einer DialogBox anzeigen. Ob diese angezeigt wird, kann abhängig davon sein ob die Systeme Video, User Interface, Data Files welche z.B. Buttongrafiken oder Schrift darstellen, richtig erzeugt wurden. Was ist, wenn diese Grafiken beschädigt sind und keine Buttons angezeigt werden können?
PS: Warum bist du so stachelig ?
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (30.11.2012, 20:47)
Werbeanzeige