GUISystem Tagebuch #1
Hallo,
ich habe angefangen eigenes GUI System zu schreiben. Ich wollte vieles automatisieren und erleichtern. Kleines Beispiel. Ich möchte nicht jedes mal selbst rechnen, um alles zu zentrieren oder ich möchte nicht so viele if Bedingungen mit Buttons haben.
Darum habe ich ein Anlass gehabt um sowas zu machen um dann für meine Projekte das zu verwenden.
Ein Bespiel. Ich redete von Buttons.
So sieht das aus zur Zeit aus
[img]http://puu.sh/aUU8U/b74342c5d5.png[/img]
(Menü-Skripte)
[img]http://puu.sh/aURfV/7a1bc7cfe9.jpg[/img]
Kleines Beispiel mit einem Video
[url="http://garrysmod.zulu907.server4you.de/sharex/imgs/2014-08-16_15-57-01.mp4"]http://garrysmod.zul...16_15-57-01.mp4[/url]
Aufgebaut ist dieser Code nur so (Der Rest kommt vom GUISystem selbst):
[img]http://puu.sh/aURwB/c93243a057.png[/img]
[color=#0000ff]CreateVerticalButtons(bool center, float space, Rect r, params string[] buttons)[/color]
Wie man hier sieht erstelle ich hier automatisch Buttons durch eine Funktion. 3 Items Play, Option, Und Quit wurde erstellt.
Sie alle geben ein ID zurück wenn was geklickt wurde. Ansonsten ist es immer -1.
Außerdem lasse ich mit Open oder Close die Menüs anzeigen oder verstecken.
So wenn ich in Option Menü bin.
[img]http://puu.sh/aUTPg/037c4ed754.png[/img]
Schaut euch die markierte Zeile an. Ein Extension erlaubt mir die Rect-Klasse mit Methoden zu erweitern. Und das schöne ist halt, dass ich jedes mal mit einem "." eine weitere Methode dranhängen kann. Ich zentriere es vertical und lasse es dann nach unten Andocken. Da ich aber sage -10f hoch (man muss das als Ursprungspunkt beachten, darum - 10 hoch) wirds etwas nach oben verschoben.
Man kann es getrennt schreiben aber zur Zeit hab ich damit ein Bug. Lösung wird gesucht.
Ergebnis:
[img]http://puu.sh/aUTYr/15e3596847.jpg[/img]
Schön oder?
Schlusssatz. Ein bissel Zeit sollte man schon opfern, bevor man das eigentliche Anfängt
(Da das eine Anfangsphase ist, kann es natürlich in den nächsten Blogeinträgen zu Veränderungen kommen bzw. kann bereits in den Screenshots eine Abweichungen vorhanden sein..).
NACHTRAG: Besseres Video
[url="http://garrysmod.zulu907.server4you.de/sharex/imgs/2014-08-16_16-53-32.mp4"]http://garrysmod.zulu907.server4you.de/sharex/imgs/2014-08-16_16-53-32.mp4[/url]
ich habe angefangen eigenes GUI System zu schreiben. Ich wollte vieles automatisieren und erleichtern. Kleines Beispiel. Ich möchte nicht jedes mal selbst rechnen, um alles zu zentrieren oder ich möchte nicht so viele if Bedingungen mit Buttons haben.
Darum habe ich ein Anlass gehabt um sowas zu machen um dann für meine Projekte das zu verwenden.
Ein Bespiel. Ich redete von Buttons.
So sieht das aus zur Zeit aus
[img]http://puu.sh/aUU8U/b74342c5d5.png[/img]
(Menü-Skripte)
[img]http://puu.sh/aURfV/7a1bc7cfe9.jpg[/img]
Kleines Beispiel mit einem Video
[url="http://garrysmod.zulu907.server4you.de/sharex/imgs/2014-08-16_15-57-01.mp4"]http://garrysmod.zul...16_15-57-01.mp4[/url]
Aufgebaut ist dieser Code nur so (Der Rest kommt vom GUISystem selbst):
[img]http://puu.sh/aURwB/c93243a057.png[/img]
[color=#0000ff]CreateVerticalButtons(bool center, float space, Rect r, params string[] buttons)[/color]
Wie man hier sieht erstelle ich hier automatisch Buttons durch eine Funktion. 3 Items Play, Option, Und Quit wurde erstellt.
Sie alle geben ein ID zurück wenn was geklickt wurde. Ansonsten ist es immer -1.
Außerdem lasse ich mit Open oder Close die Menüs anzeigen oder verstecken.
So wenn ich in Option Menü bin.
[img]http://puu.sh/aUTPg/037c4ed754.png[/img]
Schaut euch die markierte Zeile an. Ein Extension erlaubt mir die Rect-Klasse mit Methoden zu erweitern. Und das schöne ist halt, dass ich jedes mal mit einem "." eine weitere Methode dranhängen kann. Ich zentriere es vertical und lasse es dann nach unten Andocken. Da ich aber sage -10f hoch (man muss das als Ursprungspunkt beachten, darum - 10 hoch) wirds etwas nach oben verschoben.
Man kann es getrennt schreiben aber zur Zeit hab ich damit ein Bug. Lösung wird gesucht.
Ergebnis:
[img]http://puu.sh/aUTYr/15e3596847.jpg[/img]
Schön oder?
Schlusssatz. Ein bissel Zeit sollte man schon opfern, bevor man das eigentliche Anfängt
(Da das eine Anfangsphase ist, kann es natürlich in den nächsten Blogeinträgen zu Veränderungen kommen bzw. kann bereits in den Screenshots eine Abweichungen vorhanden sein..).
NACHTRAG: Besseres Video
[url="http://garrysmod.zulu907.server4you.de/sharex/imgs/2014-08-16_16-53-32.mp4"]http://garrysmod.zulu907.server4you.de/sharex/imgs/2014-08-16_16-53-32.mp4[/url]
5 Kommentare
Recommended Comments