Difference between revisions of "LlDetectedRot/fr"
Gally Young (talk | contribs) (proofread) |
m (Big proofreading) |
||
Line 12: | Line 12: | ||
|examples= | |examples= | ||
<lsl> | <lsl> | ||
// renvoie la direction de l'avatar touchant l'objet (comme un compas) | |||
// | // @@ = 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 | list pointsCardinaux = [ "Sud-Ouest", "Sud", "Sud-Est", "Est", "Nord-Est", "Nord", "Nord-Ouest"]; | ||
// | // convertit la rotation selon selon l'axe des z | ||
string | string directionBoussole( rotation rotationDepart ) | ||
{ | { | ||
// | // convertit la rotation en degrés | ||
vector | vector vecteurRotation = llRot2Euler( rotationDepart ) * RAD_TO_DEG; | ||
// | // ramène dans l'intervalle [0, 360] | ||
vecteurRotation.z += 180; | |||
if ( | if (vecteurRotation.z < 22.5 || vecteurRotation.z > 337.5) | ||
{ | { | ||
return "Ouest"; | return "Ouest"; | ||
Line 33: | Line 33: | ||
else | else | ||
{ | { | ||
// | // moins la fin de l'intervalle de l'Ouest | ||
vecteurRotation.z -= 22.5; | |||
// | // divisé par l'étendue de chaque direction (45 degrés) et arrondi pour obtenir l'index de la direction | ||
return llList2String( | return llList2String( pointsCardinaux, llRound( vecteurRotation - 11.25 ) / 45 ); | ||
} | } | ||
} | } | ||
Line 43: | Line 43: | ||
state_entry() | state_entry() | ||
{ | { | ||
llSay( 0, "Touchez moi pour obtenir votre direction" ); | llSay( 0, "Touchez-moi pour obtenir votre direction" ); | ||
} | } | ||
touch_start( integer | touch_start( integer nombreTouche ) | ||
{ | { | ||
integer | integer numeroTouche = 0; | ||
do | do | ||
{ | { | ||
llSay( 0, | llSay( 0, | ||
llDetectedName( | llDetectedName( numeroTouche ) | ||
+ " fait face " | + " fait face à l'/au " | ||
// | // la ligne suivante récupère la rotation de l'avatar et la convertit en point cardinal | ||
+ | + directionBoussole( llDetectedRot( numeroTouche) ) ); | ||
}while ( ++ | }while ( ++numeroTouche < nombreTouche ); // @@ | ||
} | } | ||
} | } |
Revision as of 09:53, 27 April 2008
LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Fonction: rotation llDetectedRot( integer numéro );38 | N° de fonction |
0.0 | Delais |
10.0 | Energie |
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 compas)
// @@ = 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 |