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

1

15.02.2015, 21:01

Meine einfache Benutzeroberfläche - Projektvorstellung

Guten Abend,
Ich würde euch gerne meine eigene Benutzeroberfläche vorstellen.
Die Benutzeroberfläche wurde mit C++ und SFML programmiert, und hat ungefähr 1 Woche Zeit in Anspruch genommen. Die Benutzeroberfläche ist sagen wir mal Textur basierend, dass heißt soviel wie
dass alle Gui Elemente auf Texturen basieren, und die Gui sich den Texturen anpasst z.B auf die Größe usw.

Der Name der Benutzeroberfläche ist: "Simple-Gui", ich bin mir sicher dass dieser Name schon vergeben ist, aber da es sowie so nur zum Verbessern meiner C++ Kenntnisse war, glaube ich das dass nicht weiter schlimm ist.
Wie der Name der Benutzeroberfläche es schon verrät ist sie einfach gehalten, sogar sehr einfach meiner Meinung nach. Es gibt z.B keine Fenster oder verschachtelte Elemente wie z.B Dropdownmenüs.
Die Benutzeroberfläche enthält folgende Elemente:

-Slider
-Combobox
-Button
-Label
-Radiobutton
-Textbox
-Checkbox
-Progressbar

Hier ein Bild dazu:

Link: http://www.mediafire.com/convkey/09f9/re…g.jpg?size_id=8

Die mit gelieferten Texturen sind nicht von mir. Ich hoffe ihr könnt mal einen Blick drauf werfen und mir Verbesserungsvorschläge nennen.
Ich werde noch ein example mit bei liefern sodass man die Benutzeroberfläche und den Aufbau besser verstehen kann.

Link: https://www.dropbox.com/s/b0nkcy6x6idtkca/GUI.rar?dl=0

Ps: Beachtet bitte nicht mein English, danke :D


Mfg
Sceiwen

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Sceiwen« (17.02.2015, 18:33)


Sacaldur

Community-Fossil

Beiträge: 2 301

Wohnort: Berlin

Beruf: FIAE

  • Private Nachricht senden

2

15.02.2015, 22:30

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:
  • 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.
Das sind zumindest die Punkte die mir so eingefallen sind.
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.
Spieleentwickler in Berlin? (Thema in diesem Forum)
---
Es ist ja keine Schande etwas falsch zu machen, als Programmierer tu ich das täglich, [...].

3

15.02.2015, 23:12

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:
  • 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.
Das sind zumindest die Punkte die mir so eingefallen sind.
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.

Danke dass war sehr informativ, ich werde schauen wie ich es einbauen kann. :)

Werbeanzeige