LlDetectedRot/de
From Second Life Wiki
Hauptseite > LlDetectedRot > LlDetectedRot/de
| LSL Portal | Funktionen | Ereignisse | Typen | Konstanten | Datenflusskontrolle | Script Sammlung | Tutorien |
Beschreibung
Funktion: rotation llDetectedRot( integer Nummer );| 38 | Funktions ID |
| 0.0 | Verzögerung |
| 10.0 | Energie |
Gibt eine Rotation, die der Rotation des Objekts Nummer entspricht.
| • integer | Nummer |
number unterstützt keine negative(n) Indizes.
Gibt <0.0, 0.0, 0.0, 1.0> zurück, wenn Nummer kein gültig detektiertes Objekt ist.
Spezifikationen
llDetected* Funktionen können von überall aufgerufen werden, liefern jedoch nur dann Werte verschieden der Vorgabewerte, wenn sie in Detection Events aufgerufen werden oder wenn die Funktionen die sie aufrufen von Detection Events gestartet wurden.
Warnungen
- Events, welche die llDetected* Funktionen aktivieren geben immer zumindest ein detektiertes Element.
- Detection Events werden nicht gestartet wenn nichts detektiert wurde (mit der kleinen Ausnahme von no_sensor, wobei es keine llDetected* Funktionen aktiviert).
- Der Detektionsparameter des Events ist nie geringer als 1.
Beispiele
//--// Ein Kompass, der in die Richtung zeigt, in welche der, das Objekt berührende, Avatar schaut //--// //-- @@ = Enthält Codeoptimierungen, siehe //-- wiki.secondlife.com/wiki/User:Void_Singer/Optimizations //-- Liste mit Himmelsrichtungen. Mit Osten beginnend und gegen den Uhrzeigersinn rotierend list gLstCompassPoints = [ "Osten", "NordOsten", "Norden", "NordWesten", "Westen", "SüdWesten", "Süden", "SüdOsten" ]; //-- konvertiert die Rotation string CompassDirection( rotation rRotBase ) { integer iCountCompassPoints = llGetListLength(gLstCompassPoints); //-- Konvertiert die Rotation in eine Richtung vector vDirection = <0.0, 1.0, 0.0> / rRotBase; //-- Nimmt die Richtung und bestimmt die z-Rotation float fAngle = llAtan2(vDirection.x, vDirection.y); //-- Nimmt den Winkel und findet den Kompasspunk integer iCompassPoint = llRound(fAngle * iCountCompassPoints / TWO_PI); //-- Konvertiert das Ergebnis zu einer Zeichenkette return llList2String( gLstCompassPoints, iCompassPoint ); } default{ state_entry() { llSay( 0, "Berühre mich um die Richtung zu bestimmen in die Dein Kompass zeigt" ); } touch_start( integer vIntTouchCount ) { integer vIntCounter = 0; do { llSay( 0, llDetectedName( vIntCounter ) + " zeigt nach " //-- die nächste Zeile bezieht die Avatarrotation und konvertiert sie zur Kompassrotation + CompassDirection( llDetectedRot( vIntCounter ) ) ); } while ( ++vIntCounter < vIntTouchCount ); } }
Dieser Artikel war nicht hilfreich für Dich? Vielleicht bringt der zugehörige Artikel im SLinfo Wiki Erleuchtung.

