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

Gotbread

Alter Hase

  • »Gotbread« ist der Autor dieses Themas

Beiträge: 421

Beruf: Student (Etechnik) + Hiwi

  • Private Nachricht senden

1

12.04.2009, 10:04

GUI - Aufbau und Design

hallo und guten morgen!

ich brauche für ein spiel eine GUI und weiß nochnicht wie ich die aufbauen soll, damit sie auch für andere anwendungen als dieses spiel flexibel genug ist. deshalb wollte ich euch mal fragen :D

wie setzt man verschiedene menüs um?
sollte man die GUI seitenbasiert aufbauen und die seite je nach benutzeraktion wechseln?

wie werden die aktionen verarbeitet?
callback, message oder event-system?

wie soll das aussehen der einzelnen elemente bestimmt werden?
struktur übergeben oder script a la xml?

und wie sollte man die "menüübergänge" designen? (bei z.b. wc3 wird das alte menü hochgezogen und das neue dafür runtergelassen)
auch mit script? oder eine reihe vorgefertigter effekte anbieten?
Mfg Goti
www.gotbread.bplaced.net
viele tolle spiele kostenlos, viele hardware-basteleien :)

"Es ist nicht undicht, es läuft über" - Homer Simpson

2

12.04.2009, 10:22

Du kannst dir ja mal wxWidgets oder Cegui angucken um Designideen zu bekommen. (allerdings nutzt zumindest wxWidgets viele sinnvolle C++ Features überhaupt nicht).
Cool finde ich z.B. das wxWidgets Sizer Design, damit kann man echt bequem seine Dialoge zusammenbauen (kann man z.B. mit wxFormbuilder mal experimentieren).

Ansonsten könnte es sicherlich gut sein, einem Widget eine Referenz auf eine Variable zu übergeben, dann brauchst du gar nicht mehr dich groß darum kümmern, das Werte übernommen werden (bei Fensteranwendungen geht das nicht so gut, da man ja ein Changeevent bräuchte, da ja nur alles bei Bedarf neu gezeichnet wird, aber in einem Spiel zeichnet man ja eh immer neu und kann so auf Änderungen von außen direkt reagieren).

Und zu Seitenbasiert: Mach Panels die halt Unterfenster (also Controls, d.h. Buttons und Eingabeboxen und so) haben und dann schaltest du je nach Bedarf ein komplettes Panel auf Visible oder eben invisible. Events werden nur von sichtbaren Fenster verarbeitet und sokannst du ganz easy Tabs bauen.

Dann noch schön alles OOP machen (quasi alles ist ein Fenster, usw.) und dann geht das schon.

Wie gesagt: Zum Grundsätzlichen Design kann man sich schön andere Bibliotheken ansehen, und gucken, was einem daran gefällt.

Achja: Du solltest am besten auch beachten, dass zu einer GUI auch Dinge wie Lebensenergieanzeige oder so gehören. Also schön flexibel bleiben.
Lieber dumm fragen, als dumm bleiben!

3

12.04.2009, 11:32

Sicherlich lohnt sich auch ein Blick in das Framework des DirectX-SDKs.
Finde die GUI recht gut gelungen. Allerdings auch ziemlich verworren.
fka tm

Werbeanzeige