LlRotTarget/fr
Jump to navigation
Jump to search
| LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Fonction: integer llRotTarget( rotation rot, float error );| 68 | N° de fonction |
| 0.0 | Delais |
| 10.0 | Energie |
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.