Aktuelle Zeit: 29.04.2024, 10:32

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Eine Frage...
BeitragVerfasst: 05.07.2011, 15:39 
Offline

Registriert: 25.02.2011, 15:22
Beiträge: 179
hallo,

sagen wir mal, ich mache so ein hauptmenü, bestehend aus buttons machen. wenn man auf den einen button klick, soll sich so ein untermenü öffnen (so ein "tabmenü"). wie mach ich sowas? wie kann ich zwischen verschiedenen "screens" wechseln?


p.s.: da spammt irgend so ein bot ständig pornobilder in threads! vielleicht sollten wir den melden? (siehe thread "GameStateManager auf der Wikiseite")

_________________
Irrlicht - from Noob to Pro
Bild


Nach oben
 Profil  
 
 Betreff des Beitrags: Re: Eine Frage...
BeitragVerfasst: 05.07.2011, 16:41 
Offline
Benutzeravatar

Registriert: 17.04.2007, 08:42
Beiträge: 460
Wohnort: Willich, NRW
Der Admin müsste schon längst informiert sein, aber wenn der nix tut, wem willste das dann melden? :O

Jedenfalls hast du dir die Antwort schon selbst gegeben: Mit Gamestates (zumindest wenn du clever sein willst). Wenn du in ein Menu wechselst, dann ändert sich die GUI (andere Hintergrundbilder, andere Buttons, usw...) und deine Logik, da sich ja auch die GUI ändert^^' Daher musst du quasi deine Methode, in der du die Events abfängst ändern und ggf deine Rendermethode. Da lohnt sich eben das State-Pattern, welches im GameStateManager ausm Wiki verbaut ist.

Oder du machst folgendes (NICHT zu empfehlen):

Code:
bool OnEvent(...)
{
  if(state == HAUPTMENU)
{
//events abfragen...
}
else if(state == SPIEL)
{
//events abfangen
}
}

Der Nachteil ist sofort offensichtlich: keine parallele Entwicklung möglich, unübersichtlich, schlecht wartbar, Klasse viel zu groß und vor allem überbestimmt und so weiter ;) Daher State-Pattern-Methode sehr zu empfehlen. Falls es Fragen dazu gibt Schieß los ;)

_________________
Bild

Irrlicht - From Noob To Pro A Guideline

--

Sonstige Projekte, Blog : http://www.rpdev.net


Nach oben
 Profil  
 
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 2 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 11 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de