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

PD

unregistriert

11

05.12.2004, 17:09

Mein ansatz war ganz einfach das ich nicht in z.B. einer Player Klasse 20 Zeiger auf verschiedene Objekte (z.B. Grafik zum zeichnen des Spielers, Sound für Soundeffekte beim laufen, Map für die kollisionserkennung etc.) haben wollte sondern dann doch lieber einen zeiger auf den Manager und darüber dann alle Funktionalitäten bekommen die ich brauche. Das ein void zeiger da nicht ideal ist weiß ich, war aber spontan dat beste was mir einfiel und da man ausserhalb der klasse nichts von den void Pointern mitbekommt ist es >>relativ<< sicher ^^

Dave

Alter Hase

  • »Dave« ist der Autor dieses Themas

Beiträge: 757

Wohnort: Berlin

  • Private Nachricht senden

12

05.12.2004, 17:23

aber du benötigst ja dennoch ne id für deine objekte. wenn du besipielsweise ein objekt rendern willst, schickste ihm ne nachricht, dass es sich rendern soll. ob man jetzt ids oder zeiger speichert macht im endeffekt ja keinen unterschied.
oder hast dus anders gemacht?

13

07.12.2004, 17:06

Der Client ist eigentlich nur ein Gegenstück zum Server/Manager. In dieser Klasse könnte eine create-Methode vorhanden sein, die eine Instanz des Objektes erzeugt und Basis-Methoden für die übergabe von Daten, die aus einer Datei geladen wurden.
Der Manager selber Arbeitet nur mit dieser Client-Klasse. Was diese Klasse dann aber eigentlich ist, spielt keine Rolle.


@Zeiger:
Man kann das auch mit einer Singleton-Klasse umgehen. Es ist schlicht nicht Sinnvoll mehr als einen Renderer oder Input Manager zu haben. Das Singleton verhindert das und man brauch au keinen Zeiger speichern.


Wie bei allem kommt es immer auf das gesamt Konzept an. Wenn der Renderer API Unabhängig sein soll, sind Singleton's z.B. keine so eine gute Idee mehr. Obwohl man mit ein bischen Fummelei auch das hinbekommen kann.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

PD

unregistriert

14

09.12.2004, 20:00

Nun, ich hab z.B. ne Klasse Spieler die dann ne Methode draw() hat und dann eine festgelegte Grafik des Spielers (oder halt nen Animationsframe) an die entsprechende Spielerposition zeichnet (ich befind mich mit meinen gedanken grad in einer 2D Welt ;)). Damit ich das erreichen kann muss die Spielerklasse die Grafikklasse kennen um zu zeichnen (klar, oder?). So, da ich aber net soviele zeiger auf diverse Objekte will für verschiedene Funktionen (würde die Klasse auf dauer sehr unübersichtlich gestalten) hab ich mir gedacht ne klasse zu basteln die alle andren klassen kennt und auch bei bedarf diese Klassen bereit stellen kann. Aber ich komme wohl nicht drum rum entweder IDs oder Zeiger auf jede benötigte Klasse einzeln zu benutzen.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

15

09.12.2004, 22:12

Also ich habe Zeiger genutzt die dann mit einer instanz der entsprechenden verwaltungsklasse gefüllt wird.

Werbeanzeige