LlDetectedTouchPos/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: vector llDetectedTouchPos( integer index );339 | N° de fonction |
0.0 | Delais |
10.0 | Energie |
retourne la position à laquelle a été touchée l objet/prim
Renvoie un vector Retourne la position où la prim/objet a été touchée :
- dans le cas d'une prim rezzée sur le terrain , la position est exprimée en coordonnées régionales
- dans le cas d'un attachement en HUD , la position est exprimée en coordonnée de l'écran relatives au centre de l'écran
• integer | index | – | Le paramètre index est le numéro du Nième toucher de l'objet/prim : en effet ,même si deux utilisateurs ne touchent pas le même objet en même temps , ils peuvent le toucher dans la même tranche de temps que celle définie par llMinEventDelay ou par un ralentissement de la sim |
Avertissements
- La prim qui a été touchée peut être différence de celle qui reçoit l’événement . C est le cas par exemple avec llPassTouches appelée avec TRUE ; dans ce cas , quand on touche une prim enfant , c est la prim root qui reçoit l’événement . On peut dans ce cas utiliser llDetectedLinkNumber pour savoir quelle prim a été touchée
- TOUCH_INVALID_VECTOR est retournée quand :
- Dans le cas de l’événement touch , le toucher a commencé sur la prim puis sans relâcher le toucher s est déplacé en dehors de la prim ( par exemple je touche une prim , je ne relâche pas le clique de la souris , mais je déplace mon curseur vers le terrain ou un autre objet ; si on veut pouvoir continuer à détecter le curseur de la souris en dehors de la prim , il vaut mieux utiliser llDetectedGrab
- L’événement n est pas un événement touch.
Exemples
<lsl> default {
touch_start(integer pos_detected) { integer i = 0; for(; i<pos_detected; ++i) llWhisper(0, "Pos clicked: " + (string)llDetectedTouchPos(i)); }
} </lsl> <lsl> vector GetRealTouchPos(vector pos) {
//By Ariu Arai for free use to anyone //Returns a useful HUD Position Vector from the llDetectedTouchPos(); function //USE: vector pos = GetRealTouchPos(llDetectedTouchPos(0)); .. Etc. //This function is intended to be used to move child prims to where the user clicks. This does not work on the root prim. integer point = llGetAttached(); vector offset; if(point == ATTACH_HUD_TOP_RIGHT)offset = <1, .933, -0.5>; else if(point == ATTACH_HUD_TOP_CENTER)offset = <1, 0, -0.5>; else if(point == ATTACH_HUD_TOP_LEFT)offset = <1, -.933, -0.5>; else if(point == ATTACH_HUD_BOTTOM_LEFT)offset = <1, -.933, 0.5>; else if(point == ATTACH_HUD_BOTTOM)offset = <1, 0.0, 0.5>; else if(point == ATTACH_HUD_BOTTOM_RIGHT)offset = <1, .933, 0.5>; //return (pos - llGetLocalPos()) + (offset * llGetLocalRot()); return ((offset - llGetLocalPos()) + pos) / llGetLocalRot();
} </lsl>
Voir également
Évènement
• | touch_start | |||
• | touch | |||
• | touch_end |
Fonctions
• | llDetectedLinkNumber | |||
• | llDetectedTouchFace | |||
• | llDetectedTouchST | |||
• | llDetectedTouchUV | |||
• | llDetectedTouchNormal | |||
• | llDetectedTouchBinormal |
Notes avancées
Historique
- Introduced in Viewer
SVN:870 r92872 Branch:Release Wednesday, 23 July 2008. - Date de release côté serveur Second Life Server 1.24.7.98039, support dans le viewer Release Candidate viewer 1.21.4 (98167).
Vous cherchez encore des informations ? Peut-être cette page du LSLwiki pourra vous renseigner.