Du bist nicht angemeldet.

Werbeanzeige

1

02.06.2012, 13:35

C++ - SFML2 - GameDesign - Zugriff auf sf::RenderWindow

Hallo,

ich stehe momentan vor einem Problem beim GameDesign. Stellt euch folgendes Szenario vor:

Eine Ausgangs-Klasse mit einem sf::RenderWindow. Diese Klasse dient als Ausgangspunt für das Spiel und ist lediglich für die Initialisierung der am Anfang benötigten Inhalte zuständig.

Darauf folgt eine StateManager-Klasse, die ihrerseits lediglich für die Verwaltung der verschiedenen GameStates verantwortlich ist.

Nun folgt die abstrakte GameState-Klasse, die nun vorschreibt, welche minimalen Funktionen implementiert werden müssen. Jeder GameState erbt von dieser Klasse.


________

Meine Frage ist wohl ziemlich banal(?) - wie würde nun ein angemessener Zugriff auf sf::RenderWindow aussehen, damit der GameState Zugriff auf Draw() etc. hat? Forward Declaration? Bitte berücksichtigt die Tatsache, dass dies mein erstes "größeres" (relativ gesehen .. ;)) Spiel-Projekt ist, welches OO-Ansätze verwendet.

Mit freundlichen Grüßen
infected1

2

02.06.2012, 13:56

Auch wenns nicht schön ist, ich hätte es global gemacht. Ansonsten eine Get-Funktion schreiben. :)

MfG
Check
Das gibt Übersicht! Stay gold. | gnu.org | §\pi\approx\tfrac{7809723338470423412693394150101387872685594299}{2485912146995414187767820081837036927319426665}§ | Jabber: dasnacl@dasnacl.de (online?)

dot

Supermoderator

Beiträge: 9 850

Wohnort: Graz

  • Private Nachricht senden

3

02.06.2012, 14:10

Wenn eine Klasse Zugriff auf das RenderWindow braucht, dann übergib ihr eben eine Referenz bzw. einen Pointer drauf?

FreezingEngine

Treue Seele

Beiträge: 280

Wohnort: NRW

Beruf: Schüler

  • Private Nachricht senden

4

02.06.2012, 14:17

Jup, ich machs genauso wie dot es gesagt hat , ist aber auch die einzige logische Lösung oder?
Etwas anderes wäre ja wieder mit mehr Arbeit verbunden und umständlich.
"He who sacrifices freedom for security deserves neither."
Benjamin Franklin

Werbeanzeige