Du bist nicht angemeldet.

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

Anonymous

unregistriert

1

08.10.2004, 18:42

Die Klasse in der Klasse

So, habe folgendes Problem: Ich arbeite momentan mit Allegro (kennt bestimmt der eine oder andere) und habe mir für die Grafik eine Klasse erstellt. Diese Klasse initialisiert die Grafik und stellt methoden zum Zeichnen von Bildenr und zum Ausgeben von text bereit (wird sicher noch mehr im laufe der Zeit), so wie den Backbuffer. Nun muss ich diese Klasse natürlich allen anderen Klassen die was zu zeichnen haben (Spieler, map usw.) bekannt machen. Natürlich könnte ich im Konstruktor die Adresse der Grafik Klasse übergeben und z.B. in der Map klasse nen pointer auf die grafikklasse speichern. Allerdings fänd ich es etwas umstendlich und unschön in jeder Klasse kA wieviele Pointer auf diverse andere Klassen zu haben. Da wäre beim Spieler als beispiel Sound, Grafik, Steuerung usw.

Ich dachte auch schon dran direkt eine Globale variable für die Grafik anzulegen. Das problem ist da das vor der Grafikinitialisierung Allegro Initialisiert werden muss was ich nicht unbedingt mit da rein packen will.

Also, für alle erfahreneren Progger da draußen: Wie handelt ihr das wenn ihr viele VErschiedene Klassen habt die miteinander Kommunizieren müssen? Gibts dafür eine schöne Lösung?

thx im vorraus
mfg
PD

2

08.10.2004, 21:37

Zitat

Gibts dafür eine schöne Lösung?
Dafür gibt es mehr Lösungen als einem lieb ist ;)

Die wohl einfachste Möglichkeit ist, einen all umfassenden Manager zu basteln, über den dann die Kommunikation geht. Ist aber nicht unbedingt die beste. Eine andere Lösung ist es Schnittstellen zu schaffen, damit die einzelnen Klassen eine gemeinsame Basis bekommen.
Die wohl aufwändigste ist es ein Nachrichtensystem zu bauen. Aber das lohnt sich erst wenn man auch mit mehreren Threads arbeitet.

Generell gilt aber, das man sich seine Lösung schon selbst suchen muss. Da fertige Lösung sehr oft gar nett in das eigene Konzept passen.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D