Difference between revisions of "LlRotTarget/fr"

From Second Life Wiki
Jump to navigation Jump to search
(Localized to french)
 
(relecture et refonte pour harmonisation avec llTarget (exemple non verifie))
 
Line 4: Line 4:
|return_type=integer
|return_type=integer
|p1_type=rotation|p1_name=rot|p1_desc=rotation cible
|p1_type=rotation|p1_name=rot|p1_desc=rotation cible
|p2_type=float|p2_name=error|p2_desc=angle en radians, définit lorsque '''rot''' a été atteint.
|p2_type=float|p2_name=error|p2_desc=précision en radians
|func_footnote=Une fonction similaire existe pour la position : {{LSLG/fr|llTarget}}<br/>Cette fonction ne fait pas tourner l'objet, utilisez {{LSLG/fr|llSetRot}} à la place, {{LSLG/fr|llRotLookAt}} ou {{LSLG/fr|llLookAt}}.
|func_footnote=La cible est une rotation définie par la rotation '''rot''' et les évènements déclenchés sont :<br/>
|func_desc=Cette fonction permet de savoir lorsqu'un l'objet a atteint une rotation cible.<br/>Elle enregistre une '''rot''' et une '''error''' et déclenche en continue les évènements {{LSLG/fr|at_rot_target}}(cible atteinte?) et {{LSLG/fr|not_at_rot_target}}(cible non atteinte?) jusqu'à suppression du contrôle de rotation.
- {{LSLG/fr|at_rot_target}} si la rotation de l'objet est à moins de '''error''' radian de la rotation cible<br/>
|return_text=correspondant à une référence à utiliser avec {{LSLG/fr|llRotTargetRemove}} pour supprimer le contrôle
- {{LSLG/fr|not_at_rot_target}} sinon.<br/><br/>
Cette fonction ne tourne pas les objets, utilisez {{LSLG/fr|llSetRot}}, {{LSLG/fr|llRotLookAt}} ou {{LSLG/fr|llLookAt}}.<br/>
Une fonction similaire existe pour les positions: {{LSLG/fr|llTarget}}
|func_desc=Cette fonction définie une cible de rotation et lance une détection de rotation.
|return_text=permettant d'identifier la cible (cet identifiant sert à arrêter la détection avec {{LSLG/fr|llRotTargetRemove}})
|spec
|spec
|caveats
|caveats
|constants
|constants
|examples=<pre>vector standrot = <0.0, 0.0, 0.0>;
|examples=<lsl>vector standrot = <0.0, 0.0, 0.0>;
vector fliprot = <45.0, 0.0, 0.0>;
vector fliprot = <45.0, 0.0, 0.0>;


Line 23: Line 27:
default
default
{
{
     state_entry(){  
     state_entry(){  
         rottarget = llRotTarget(llEuler2Rot(fliprot*DEG_TO_RAD), 0.1);
         rottarget = llRotTarget(llEuler2Rot(fliprot*DEG_TO_RAD), 0.1);
Line 59: Line 62:
}
}


</pre>
</lsl>
|helpers
|helpers
|also_tests
|also_tests

Latest revision as of 08:38, 19 June 2008

Description

Fonction: integer llRotTarget( rotation rot, float error );

Cette fonction définie une cible de rotation et lance une détection de rotation.

Renvoie un integer permettant d'identifier la cible (cet identifiant sert à arrêter la détection avec llRotTargetRemove)

• rotation rot rotation cible
• float error précision en radians

La cible est une rotation définie par la rotation rot et les évènements déclenchés sont :
- at_rot_target si la rotation de l'objet est à moins de error radian de la rotation cible
- not_at_rot_target sinon.

Cette fonction ne tourne pas les objets, utilisez llSetRot, llRotLookAt ou llLookAt.
Une fonction similaire existe pour les positions: llTarget

Exemples

<lsl>vector standrot = <0.0, 0.0, 0.0>; vector fliprot = <45.0, 0.0, 0.0>;

// Un exemple simple utilisant 2 états par Hypatia Callisto // pour détecter la rotation d'une prim. Voici un exemple que j'ai écrit // puisqu'il n'y avait presque rien pour illlustrer les fonctions // at_rot_target, not_at_rot_target, llRotTarget, llRotTargetRemove

integer rottarget;

default {

   state_entry(){ 
       rottarget = llRotTarget(llEuler2Rot(fliprot*DEG_TO_RAD), 0.1);
       llSetPrimitiveParams ([PRIM_ROTATION, llEuler2Rot(standrot*DEG_TO_RAD)]); // Fait pivoter à la position de départ
   }
   not_at_rot_target()
       { 
       llRotTargetRemove( rottarget );
       llOwnerSay("Rotation cible non atteinte"); 
       }
       
   touch_start (integer total_number){
       state rotatestate; // change l'état pour une nouvelle position
   }

}


state rotatestate {

   state_entry(){ 
       rottarget = llRotTarget(llEuler2Rot(fliprot*DEG_TO_RAD), 0.1);
       llSetPrimitiveParams ([PRIM_ROTATION, llEuler2Rot(fliprot*DEG_TO_RAD)]); // Fait pivoter à une nouvelle position
   }
   
   at_rot_target(integer tnum, rotation targetrot, rotation ourrot){ 
       llRotTargetRemove( rottarget );
       llOwnerSay("Rotation cible atteinte"); //atteint la cible
   }
   touch_start(integer touched){ 
       state default; 
   }
   

}

</lsl>

Voir également

Évènement

• at_rot_target not_at_rot_target Evènements liés à une rotation cible
• at_target not_at_target Evènement liès à une position cible.

Fonctions

•  llRotTargetRemove Supprime la rotation cible
•  llTarget Définit une position cible.
•  llTargetRemove Supprime la position cible.
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.