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
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Sceiwen« (17.02.2015, 18:33)
Zitat
Error (403)
It seems you don't belong here! You should probably sign in. Check out our Help Center and forums for help, or head back to home.
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].
Ich kann mir die Grafik nicht ansehen, da:Zitat
Error (403)
It seems you don't belong here! You should probably sign in. Check out our Help Center and forums for help, or head back to home.
Da es ein Übungsprojekt zu sein scheint, ist es durchaus nicht problematisch, wenn der Funktionsumfang des UI-Systems nicht besonders weitreichend ist. Solltest du aber, wenn auch nur zur Übung, weiter daran arbeiten wollen, dann wären meiner Meinung nach folgende Dinge noch relevant:Das sind zumindest die Punkte die mir so eingefallen sind.
- Man sollte dazu in der Lage sein können, Layouts definieren zu können. Häufig hat man eine Platzaufteilung in der Hinsicht, dass bestimmte Elemente oder Container sich so viel Platz nehmen, wie sie benötigen, während andere den verbleibenden Platz einnehmen. Ideal wäre natürlich, wenn man das Layout nicht nur per Code beschreiben könnte, sondern auch per Beschreibungssprache (XML).
- Das Layout sollte Skalierbar sein. Je nach Anwendungsfall will man entweder ein Layout mit Pixelangaben oder relativ zur Fenstergröße definieren.
- Wenn das Layout skalierbar sein sollte, dann sollten automatisch die geeigneten Texturen verwendet werden. So könnte man für bestimmte Skalierungsstufen (bspw. für solche, die bei den üblichen Auflösungen verwendet werden) optimierte Grafiken mitliefern, damit nur in Ausnahmefällen zur Laufzeit eine Skalierung vorgenommen werden muss, was zu einer verringerten Qualität sorgen könnte.
- Das UI sollte sich automatisch bei Änderungen am Model anpassen. Mit C++ könnte das ein wenig schwieriger als in bspw. C# oder Java werden, da nicht dynamisch auf Typinformationen zugegriffen werden kann, mit entsprechenden Schnittstellen und einer entsprechenden Architektur dürfte das dennoch möglich sein. Auch hier wieder gilt, dass ein Beschreiben natürlich besser wäre, aber gerade hier dürfte ein reines Beschreiben wesentlich schwieriger werden.
- Man sollte das UI nicht nur mit der Maus, sondern auch mit der Tastatur (Tab, Pfeiltasten, ...) und dem Gamepad bedienen können.
- Es wären noch weitere Elemente erforderlich. Für scrollbare Inhalte, Auswahllisten (zusammengefasste Radiobuttons) und vor allem für die vielen Variationen an Textelementen (allgemein Fließtext mit unterschiedlichen Formatierungsmöglichkeiten, Links in Texten, Grafiken in Texten etc.) sollte es bereits vorgefertigte Lösungen geben.
Allgemein kannst du dir natürlich auch andere Frameworks (WPF, Qt, das neue Unity UI System, ...) anschauen, um zu sehen, was diese wie umgesetzt haben.
Werbeanzeige