GUI
aus ZFXCE, der freien Wissensdatenbank
Inhaltsverzeichnis |
Grundlegendes
Das GUI-Modul (Graphical User Interface) stellt grafische Bedienelemente über die ZFXCE dar. So kann man Ingame-GUI-Steuerelemente mittels des ZFXCE-Renderers darstellen lassen.
Grundlegende Ideen
Idee
Das GUI System benötigt zum Darstellen eigener Elemente einen SceneGraphen als Parent-System. Der Scenegraph kapselt dabei die Darstellung der GUI-Elemente. Hierfür gibt es einen speziellen Scenenode: ceGUISceneNode.
Struktur
Jedes GUI-Element kann beliebig viele Child-GUI-Elemente zugewiesen bekommen, so dass man komplexere Controls und Dialoga aus den vorhandenen GUI-Elementen aufbauen kann. Das GUI-System hängt dise ähnlich dem Scenegraph in einen Rootnode ein. So lassen sich beliebig komplexe GUI-Controls relativ einfach zusammenbauen:
- GUI-Root
- GUI-Window - GUI-Textedit - GUI-Button1 - GUI-Button2
Um die GUI-Controls korrekt darstellen zu können, muss man den Root des eigens definierten Controles einem GUINode im Scenegraphen zuweisen, dieser kümmert sich dann um die korrekte Darstellung der ganzen Elemente.
Interaktionen
Um Interaktionen mit der User zu ermöglichen, benutzt das GUI-System Controller. Mausinteraktionen werden durch den Cursor-Controller abgesteuert. Hier werden auch alle Funktoren zur Eventberarbeitung der Maus-Events registriert (ToDo: Schnittstelle zu Registrieren benutzerdefinierter bzw. skriptbasierter Controller).
Umgang mit Layouts
Um GUI-Elementen ein einheitliches Aussehen zu geben, kann man Layouts definieren. Diese beschreiben Farbgebung, Skins, benutze Texturen sowie alles erdenkbare, um das Verhalten der GUI-Elemente beschreiben zu können. Der Layoutmanager verwaltet eigegebene Layouts un kann sie ggf. auch wieder entfernen.
ToDo
| Feature | Status | About |
|---|---|---|
| Picking | 40% | Picking von eigenen GUI-Elementen |
| GUI-Window Element | 0% | Erstellung eines Windows |
| GUI-Button Element | 0% | Erstellung eines Buttons |
| Layout-Element | 0% | Layout-Definition |
ZFXC-Engine
