• Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
  • Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
  • Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren, Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Sie geben Einwilligung zu unseren Cookies, wenn Sie unsere Webseite weiterhin nutzen.

Menüs mit LlDetectedTouchUV/ST?

Kaya Kiyori

Freund/in des Forums
Einige von euch kennen sicherlich die llDetectedTouchUV/ST Funktion. Mit ihr ist es möglich Koordinaten auf einer Oberfläche eines Prims zu ermitteln. Mit Bedingungen verbunden, lassen sich damit Bereiche deklarieren welche anhand der Koordinaten ermitteln welchen Bereich man geklickt hat. Perfekt für Primarme, Menü-HUD Oberflächen.

Horizontale, vertikale oder Kastenlayout Oberflächen bekomme ich damit problemlos hin. Jedoch sobald ich versuche wie in meinem Bild, Bereiche mit einem "unorganisierten Layout" oder "Menülayout" zu gestalten, wo nicht alles gleich nebeneinander ist und verschiedene Positionen einnimmt, funktioniert der mir bekannte Ansatz nicht mehr.

beispiel.jpg

So sehen bei mir die Bedingungen aus:
Code:
     if (pos.x<menu1.x&pos.y<menu1.y) { tue das... }
else if (pos.x<menu2.x&pos.y<menu2.y) { tue dies... }
else if (pos.x<menu3.x&pos.y<menu3.y) { ansonsten mach dies... }

Mit den Vektoren deklariere ich meist die Position wo es auffhört, heißt den Maximum eines Bereiches. Für Kastenlayouts und vert/horizontal Layouts funktioniert das auch super, jedoch sobald ich damit einen der anderen beiden Layouts angehe, schlage ich nur noch fehl.

Ich habe selbst schon versucht Bereiche genauer zu deklarieren in dem die Bedingungen zwischen zwei Koordinaten (vectoren) begrenze, aber funktionierten tut dies nicht.

Code:
     if (pos.x>menu1start.x&pos.y>menu1start.y&pos.x<menu1end.x&pos.y<menu1end.y) { tue das... }
else if (pos.x>menu2start.x&pos.y>menu2start.y&pos.x<menu2end.x&pos.y<menu2end.y) { tue dies... }
else if (pos.x>menu3start.x&pos.y>menu3start.y&pos.x<menu3end.x&pos.y<menu3end.y) { ansonsten mach dies... }

Ebenso habe ich schon versucht mit Standardhöhe/breiten für Buttons zu arbeiten, die ich dann immer zwischen einem Startvektor und einem Startvektor+Buttonhöhe/breite addieren lasse.

Code:
     if (pos.x>menu1.x&pos.y>menu1.y&pos.x<menu1.x+Button.x&pos.y<menu1.y+Button.y) { tue das... }
else if (pos.x>menu2.x&pos.y>menu2.y&pos.x<menu2.x+Button.x&pos.y<menu2.y+Button.y) { tue dies... }
else if (pos.x>menu3.x&pos.y>menu3.y&pos.x<menu3.x+Button.x&pos.y<menu3.y+Button.y) { ansonsten mach dies... }

Aber auch hier ein fehlschlag, ich bin langsam wirklich am verzweifeln und komme nicht mehr weiter. Ich arbeite sogar schon mit Toten Zonen in den Bedinungen, heißt auch die Bereiche werden erfasst die gar nichts bewirken sollen, nur damit ich jeden freie Fläche nach und nach, abdecke.

Kennt sich wer damit besser aus und weiß einen Rat?
 
Versuche es doch mal so:
Code:
     if ( pos.x>menu1start.x [COLOR=#FF0000]&[/COLOR]& pos.y>menu1start.y [COLOR=#ff0000]&[/COLOR]& pos.x<menu1end.x [COLOR=#ff0000]&[/COLOR]& pos.y<menu1end.y ) {  tue das... }
else if ( pos.x>menu2start.x [COLOR=#ff0000]&[/COLOR]& pos.y>menu2start.y [COLOR=#ff0000]&[/COLOR]& pos.x<menu2end.x [COLOR=#ff0000]&[/COLOR]& pos.y<menu2end.y ) { tue dies... }
else if ( pos.x>menu3start.x [COLOR=#ff0000]&[/COLOR]& pos.y>menu3start.y [COLOR=#ff0000]&[/COLOR]& pos.x<menu3end.x [COLOR=#ff0000]&[/COLOR]& pos.y<menu3end.y ) { ansonsten mach dies... }
 

Users who are viewing this thread

Zurück
Oben Unten