Difference between revisions of "LlDetectedRot/fr"

From Second Life Wiki
Jump to navigation Jump to search
m (Missed this one)
m (Oops)
Line 36: Line 36:
     vecteurRotation.z -= 22.5;
     vecteurRotation.z -= 22.5;
     // divisé par l'étendue  de chaque direction (45 degrés) et arrondi pour obtenir l'index de la direction
     // divisé par l'étendue  de chaque direction (45 degrés) et arrondi pour obtenir l'index de la direction
     return llList2String( pointsCardinaux, llRound( vecteurRotation - 11.25 ) / 45 );
     return llList2String( pointsCardinaux, llRound( vecteurRotation.z - 11.25 ) / 45 );
   }
   }
}
}


default{
default
{
   state_entry()
   state_entry()
   {
   {
Line 56: Line 57:
               // la ligne suivante récupère la rotation de l'avatar et la convertit en point cardinal
               // la ligne suivante récupère la rotation de l'avatar et la convertit en point cardinal
             + directionBoussole( llDetectedRot( numeroTouche) ) );
             + directionBoussole( llDetectedRot( numeroTouche) ) );
     }while ( ++numeroTouche < nombreTouche ); // @@
     } while ( ++numeroTouche < nombreTouche ); // @@
   }
   }
}
}

Revision as of 09:59, 27 April 2008

Description

Fonction: rotation llDetectedRot( integer numéro );

Renvoie un rotation correspondant à la rotation de l'objet ou de l'avatar détecté identifié par son numéro.

• integer numéro Index des informations de détection

numéro n'accepte pas les index négatifs.
Renvoie <0.0, 0.0, 0.0, 1.0> si le numéro n'est pas un avatar ou un objet détecté valide.

Spécifications

Les fonctions llDetected* peuvent être appellées depuis n'importe quel évènement, mais elles ne renverront de valeurs différentes de leur valeur standard que lorsqu'elles sont appellées depuis un évènement de Détection.

Avertissements

  • Les évènement activant les fonctions llDetected* renvoyent toujours au moins un élément détecté.
    • Les évènements de Détection ne sont pas déclenchés s'il n'y a rien à détecter (sauf pour no_sensor mais il n'active pas les fonctions llDetected*).
    • Le compteur de l'évènement de Détection n'est jamais, initialement, en dessous de 1.

Exemples

<lsl> // renvoie la direction de l'avatar touchant l'objet (comme un sextant)

// @@ = avec des optimisations du code, cf : // wiki.secondlife.com/wiki/User:Void_Singer/Optimizations

// liste des points cardinaux démarrant aprés l'ouest et allant dans le sens inverse des aiguilles d'une montre

list pointsCardinaux = [ "Sud-Ouest", "Sud", "Sud-Est", "Est", "Nord-Est", "Nord", "Nord-Ouest"];

// convertit la rotation selon selon l'axe des z

string directionBoussole( rotation rotationDepart ) {

  // convertit la rotation en degrés
 vector vecteurRotation = llRot2Euler( rotationDepart ) * RAD_TO_DEG;
  // ramène dans l'intervalle [0, 360]
 vecteurRotation.z += 180;
 if (vecteurRotation.z < 22.5

Voir également

Articles

•  Detected
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.