Difference between revisions of "LlTarget/fr"

From Second Life Wiki
Jump to navigation Jump to search
(Localized to french)
 
(Big proofreading)
Line 6: Line 6:
|p2_type=float|p2_name=distance
|p2_type=float|p2_name=distance
|func_footnote=Une fonction similaire existe pour les rotations : {{LSLG/fr|llRotTarget}}<br/>Cette fonction ne déplace pas d’objet, utilisez plutôt  {{LSLG/fr|llSetPos}} ou {{LSLG/fr|llMoveToTarget}}.
|func_footnote=Une fonction similaire existe pour les rotations : {{LSLG/fr|llRotTarget}}<br/>Cette fonction ne déplace pas d’objet, utilisez plutôt  {{LSLG/fr|llSetPos}} ou {{LSLG/fr|llMoveToTarget}}.
|func_desc=Cette fonction informe le script qu’une position cible a été atteinte.<br/>Elle enregistre une '''position''' et une '''distance''' et déclenche en continu les évènements {{LSLG/fr|at_target}} et {{LSLG/fr|not_at_target}}.
|func_desc=Cette fonction définie une cible par sa '''position''' et déclenche en continue les évènements :<br/>- {{LSLG/fr|at_target}} si l'objet scripté est a moins de '''distance''' de cette cible:<br/>- {{LSLG/fr|not_at_target}} si l'objet est plus loin.
|return_text=correspondant à la référence à utiliser pour arrêter la détection avec {{LSLG/fr|llTargetRemove}}.
|return_text=permettant d'identifier la cible (cet identifiant servira a arrêter la détection avec {{LSLG/fr|llTargetRemove}}).
|spec
|spec
|caveats
|caveats
|constants
|constants
|examples=
|examples=
<Pre>
<lsl>
integer target_id;
integer target_id;  
vector target_pos;
vector target_pos;  


default
default
Line 21: Line 21:
     {
     {
         target_pos = llGetPos() + <1.0, 0.0, 0.0>;
         target_pos = llGetPos() + <1.0, 0.0, 0.0>;
         target_id = llTarget(target_pos, 0.5);
         target_id = llTarget(target_pos, 0.5); // creation de la cible
     }
     }
     at_target(integer tnum, vector targetpos, vector ourpos)
     at_target(integer tnum, vector targetpos, vector ourpos)
Line 27: Line 27:
         if (tnum == target_id)
         if (tnum == target_id)
         {
         {
             llOwnerSay("objet dans le périmètre de la cible.");
             llOwnerSay("objet dans le perimetre de la cible.");
             llOwnerSay("position de la cible : " + (string)targetpos + ", l’objet est à présent à : " + (string)ourpos);
             llOwnerSay("position de la cible : " + (string)targetpos + ", l’objet est à present a : " + (string)ourpos);
             llOwnerSay("ce qui correspond à une distance de  " + (string)llVecDist(targetpos, ourpos) + " métres de la cible");
             llOwnerSay("ce qui correspond a une distance de  " + (string)llVecDist(targetpos, ourpos) + " metres de la cible");
             llTargetRemove(target_id);
             llTargetRemove(target_id); // suppression de la cible
         }
         }
     }
     }
Line 36: Line 36:
     {
     {
         llOwnerSay(
         llOwnerSay(
             "Objet hors périmètre – objet à la position " + (string)llGetPos() +  
             "Objet hors perimetre – objet à la position " + (string)llGetPos() +  
             ", à " + (string)llVecDist(target_pos, llGetPos()) +  
             ", a " + (string)llVecDist(target_pos, llGetPos()) +  
             " mètres de la cible (" + (string)target_pos + ")"
             " metres de la cible (" + (string)target_pos + ")"
         );
         );
     }
     }
}
}
</Pre>
</lsl>
|helpers
|helpers
|also_functions=
|also_functions=

Revision as of 07:49, 19 June 2008

Description

Fonction: integer llTarget( vector position, float distance );

Cette fonction définie une cible par sa position et déclenche en continue les évènements :
- at_target si l'objet scripté est a moins de distance de cette cible:
- not_at_target si l'objet est plus loin.

Renvoie un integer permettant d'identifier la cible (cet identifiant servira a arrêter la détection avec llTargetRemove).

• vector position
• float distance

Une fonction similaire existe pour les rotations : llRotTarget
Cette fonction ne déplace pas d’objet, utilisez plutôt llSetPos ou llMoveToTarget.

Exemples

<lsl> integer target_id; vector target_pos;

default {

   state_entry()
   {
       target_pos = llGetPos() + <1.0, 0.0, 0.0>;
       target_id = llTarget(target_pos, 0.5); // creation de la cible
   }
   at_target(integer tnum, vector targetpos, vector ourpos)
   {
       if (tnum == target_id)
       {
           llOwnerSay("objet dans le perimetre de la cible.");
           llOwnerSay("position de la cible : " + (string)targetpos + ", l’objet est à present a : " + (string)ourpos);
           llOwnerSay("ce qui correspond a une distance de  " + (string)llVecDist(targetpos, ourpos) + " metres de la cible");
           llTargetRemove(target_id); // suppression de la cible
       }
   }
   not_at_target()
   {
       llOwnerSay(
           "Objet hors perimetre – objet à la position " + (string)llGetPos() + 
           ", a " + (string)llVecDist(target_pos, llGetPos()) + 
           " metres de la cible (" + (string)target_pos + ")"
       );
   }

} </lsl>

Voir également

Évènement

• at_target not_at_target Evènement de détection de la position
• at_rot_target not_at_rot_target Evènement de détection de la rotation

Fonctions

•  llTargetRemove Arrête la détection de position
•  llRotTarget Lance une détection de rotation
•  llRotTargetRemove Arrête la détection de rotation
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.