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

patrick246

Treue Seele

  • »patrick246« ist der Autor dieses Themas

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

11

01.02.2013, 07:19

Ok, wie kann ich dann popState von einem GameState aus aufrufen? Soll ich dem Konstruktor einen Zeiger auf den StateManager übergeben?

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

12

01.02.2013, 07:23

Ich finde es immer unelegant, wenn ein Zustand selbst die anderen Zustände kennt und dann sogar auch noch den StateManager und diesem push und pop aufzwingt. Durch sowas entstehen nämlich dann oft zirkuläre Abhängigkeiten.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

13

01.02.2013, 10:22

Eine Alternative dazu wäre, dass der StateManager den aktiven Zustand fragt, ob ein Übergang in einen anderen Zustand erwünscht ist (der dann mittels ID/String spezifiziert wird). Dazu kann man noch ein paar Parameter übergeben, die der neue Zustand dann erhält. Z.B. welcher Level zu laden ist.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

14

01.02.2013, 12:49

Naja immer zu fragen finde ich nicht besonders schön. Dann würde ich den Zustand eher ein Event auslösen lassen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

15

01.02.2013, 13:26

Dieser Ansatz ist in dem Forenspiel implementiert ;)

patrick246

Treue Seele

  • »patrick246« ist der Autor dieses Themas

Beiträge: 328

Wohnort: nahe Heilbronn/BW

Beruf: TG Profil Informatik-Schüler

  • Private Nachricht senden

16

02.02.2013, 04:52

Mir ist es eigentlich egal, ob jetzt ein GameState einen anderen kennt oder nicht. Wenn ich einen Hauptmenü-State hab und bei dem auf den Start-Button geklickt wird, dann sollte der State das so verarbeiten und den nächsten State auf den Stack legen. Außerdem hab ich da eher Sorgen, dass mein Kumpel, der noch nicht so lange programmiert, immer nur pushState nimmt und alles was kommt auf den Stack draufschaufelt :D
Vielen Dank für die tollen Tipps.
-patrick246

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

17

02.02.2013, 08:13

Gruseliger finde ich persönlich, dass Dein Manager die States kennt und die States den Manager. Aber ich merk schon, Du hast statt dem Design des Codes ganz anderes Sorgen.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige