Template:Needs Translation/
函数名
|
Function: vector llDetectedTouchPos( integer index );
|
参数:integer index–Index of detection information index does not support negative indexes.
|
返回值:Returns the vector position where the object was touched in region coordinates, unless it is attached to the HUD, in which case it returns the position in screen space coordinates.
|
注意事项
|
注意事项
- HUD attachments currently return coordinates relative to the center of the screen rather than the attachment point. SVC-3425
- If index is out of bounds the script continues to execute without an error message.
- TOUCH_INVALID_VECTOR is returned when...
- The avatar's viewer does not support face touch detection.
- To check if face touch detection is supported check the return of llDetectedTouchFace.
- The touch has moved off the surface of the prim.
- The event triggered is not a touch event.
|
示例
|
示例1
default
{
touch_start(integer num_detected)
{
llWhisper(0, "Pos clicked: " + (string)llDetectedTouchPos(0));
}
}
示例2
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.0, 0.933,-0.5>;
else if (point == ATTACH_HUD_TOP_CENTER) offset = <1.0, 0.000,-0.5>;
else if (point == ATTACH_HUD_TOP_LEFT) offset = <1.0,-0.933,-0.5>;
else if (point == ATTACH_HUD_BOTTOM_LEFT) offset = <1.0,-0.933, 0.5>;
else if (point == ATTACH_HUD_BOTTOM) offset = <1.0, 0.000, 0.5>;
else if (point == ATTACH_HUD_BOTTOM_RIGHT) offset = <1.0, 0.933, 0.5>;
//return (pos - llGetLocalPos()) + (offset * llGetLocalRot());
return ((offset - llGetLocalPos()) + pos) / llGetLocalRot();
}
|