Control/fr
LSL Portail Francophone | LSL Portail Anglophone | Fonctions | Évènements | Types | Operateurs | Constantes | Contrôle d'exécution | Bibliothèque | Tutoriels |
Description
Event: control( key id, integer niveau, integer limite ){ ; }Evènement déclenché par llTakeControls et par les actions de l'utilisateurs.
• key | id | |||
• integer | niveau | |||
• integer | limite |
Constantes | Valeurs | Descriptions |
---|---|---|
CONTROL_FWD | 0x00000001 | Déplacement vers l'avant (↑ ou W) |
CONTROL_BACK | 0x00000002 | Déplacement vers l'arrière (↓ ou S) |
CONTROL_LEFT | 0x00000004 | Déplacement vers la gauche (⇧ Maj-← ou ⇧ Maj-A [← ou A en vue subjective]) |
CONTROL_RIGHT | 0x00000008 | Déplacement vers la droite (⇧ Maj-→ ou ⇧ Maj-D [→ ou D en vue subjective]) |
CONTROL_ROT_LEFT | 0x00000100 | Rotation vers la gauche (← ou A) |
CONTROL_ROT_RIGHT | 0x00000200 | Rotation vers la droite (→ ou D) |
CONTROL_UP | 0x00000010 | Déplacement vers le haut (PgUp ou E) |
CONTROL_DOWN | 0x00000020 | Déplacement vers le bas (PgDn ou C) |
CONTROL_LBUTTON | 0x10000000 | Bouton gauche de la souris |
CONTROL_ML_LBUTTON | 0x40000000 | Bouton gauche de la souris en vue subjective |
Exemples
default { state_entry() { llRequestPermissions(llGetOwner(), PERMISSION_TAKE_CONTROLS); } run_time_permissions(integer perm) { if(PERMISSION_TAKE_CONTROLS & perm) { llTakeControls( CONTROL_FWD | CONTROL_BACK | CONTROL_LEFT | CONTROL_RIGHT | CONTROL_ROT_LEFT | CONTROL_ROT_RIGHT | CONTROL_UP | CONTROL_DOWN | CONTROL_LBUTTON | CONTROL_ML_LBUTTON | 0, TRUE, TRUE); } } control(key id, integer niveau, integer limite) { integer début= niveau & limite; integer fin = ~niveau & limite; integer pression = niveau & ~limite; integer relachement = ~(niveau | limite); llOwnerSay(llList2CSV([niveau, limite, début, fin, pression, relachement])); } }
Notes
L'utilisation sur un attachement de llGetRot en vue subjective renvoie l'angle de vue de l'avatar.
Si le délai (d'occurrence) de cet évènement est doublé (à l'aide de llMinEventDelay), alors cet évènement sera traité avec un délai divisé par deux. Cet évènement peut donc se déclencher deux fois plus souvent que les autres évènements si le délai minimal de llMinEventDelay est plus grand que 0.1.
Des tests ont déterminé que la clé renvoyée n'est pas la clé de l'agent contrôlé, mais celle de l'objet du propriétaire. Si plus d'un script est utilisé dans un même objet pour suivre en simultané plusieurs avatars (1 droit/script), l'évènement peut être déclenché dans les différents scripts, mais il n'y a aucun moyen de savoir quel agent a déclenché l'évènement. Anthony Reisman 09:59, 14 February 2007 (PST)
Voir aussi
Evénements
• | run_time_permissions | – | Evènement de gestion des droits |
Fonctions
• | llTakeControls | – | Permet de détecter les mouvements d'un avatar | |
• | llReleaseControls | – | Permet d'arrêter la détection de mouvements | |
• | llRequestPermissions | – | Permet de demander des droits |