LlDetectedTouchPos/fr
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
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.