Da ich manchmal meine Schwierigkeiten mit den DX-Elementen habe, hab ich mich mal etwas hingesetzt und ein paar DX-Funktionen geschrieben die vielleicht einigen helfen könnten
Enthalten: dxDrawWindow( auch ziehbar ), dxDrawLabel, dxDrawWindowImage, eigene Cursor ( von Larsowitchs Login-Panel ).
Die Funktionen geben eine Table mit den Informationen zu den Elementen zurück mit der man dann die Einstellungen verändern kann.
Die Elemente werde auf das Parent, in dem Fall das Dx-Gui, gedrawnt. Somit ist das Berechnen der Position für einzelne ELemente nicht mehr nötig. Denn Punkt 0, 0 währe dann in der oberen Ecke des GUI's ( wie bei dem normalen GUI ).
Verwendung:
table dxDrawWindow( int x, int y, int width, int height, string title, int color, int headcolor )
table dxDrawButton( int x, int y, int width, int height, string text, table parent )
table dxDrawLabel( int x, int y, string text, int color, int size, table parent )
table dxDrawWindowImage( int x, int y, int width, int height, string imagePfad, int rotation, int color, table parent )
string dxGetText( table element )
bool dxSetText( table element, string text )
bool dxSetProperty( table element, string, val ) -- unfertig
bool dxSetColor( table element, int color )
bool addDXEvent( string event, table element, function func )
zu addDXEvent:
Es existieren bis jetzt 3 Events die benutzt werden können:
- dxButtonClick => Sobald auf ein DX-Element geklickt wurde
- dxElementLeave => Wenn der Cursor ein DX-Element verlässt
- dxElementHover => Wenn der Cursor ein DX-Element betritt
Beispiel:
testDX = dxDrawWindow( sx/2 - 800/2, sy/2 - 800/2, 800, 800, "Test DX GUI", tocolor(0, 0, 0, 70) )
forward = dxDrawButton( 10, 10, 100, 40, "Delete", testDX )
addDXEvent("dxButtonClick", forward, function()
outputChatBox("Du hast mich geklickt!")
testDX["title"] = "Der Title vom Fenster wurde geaendert!" -- Einstellungen aendern
end)
Man kann die Einstellungen der einzelnen Elemente über die Table die zurückgegeben wird ändern.
In der LUA ist weiter unten auch noch Anwendungsbeispiele zu den Events und den einzelnen Funktionen.
Ich werde probieren das Script zu updaten und Fehler zu beheben und neue Funktionen einzufügen
Screens:
Viel Spaß damit *:)*
Download: temporär entfernt. Wenn interesse besteht PN.