LlRotTarget/fr

From Second Life Wiki
< LlRotTarget
Revision as of 06:42, 17 February 2008 by Gally Young (talk | contribs) (Localized to french)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Description

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

Cette fonction permet de savoir lorsqu'un l'objet a atteint une rotation cible.
Elle enregistre une rot et une error et déclenche en continue les évènements at_rot_target(cible atteinte?) et not_at_rot_target(cible non atteinte?) jusqu'à suppression du contrôle de rotation.

Renvoie un integer correspondant à une référence à utiliser avec llRotTargetRemove pour supprimer le contrôle

• rotation rot rotation cible
• float error angle en radians, définit lorsque rot a été atteint.

Une fonction similaire existe pour la position : llTarget
Cette fonction ne fait pas tourner l'objet, utilisez llSetRot à la place, llRotLookAt ou llLookAt.

Exemples

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; 
    }
    
}

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.