Template:Needs Translation/
函数名
|
Function: integer llDetectedTouchFace( integer index );
|
参数:integer index–Index of detection information index does not support negative indexes.
|
返回值:Returns an integer that is the index of the face the avatar clicked on.
|
注意事项
|
*If index is out of bounds the script continues to execute without an error message.
- TOUCH_INVALID_FACE is returned when...
- The avatar's viewer does not support face touch detection.
- The touch has moved off the surface of the prim.
- The event triggered is not a touch event.
|
示例
|
示例1
// This is the essential script to drop in a prim when you need to ascertain the number of a face (or faces)
// Touch the prim surfaces to learn their face numbers, which you can then use in other scripts for texturing, colouring etc.
say(string message)
{
llSay(PUBLIC_CHANNEL, message);
}
default
{
touch_start(integer num_detected)
{
integer face = llDetectedTouchFace(0);
if (face == TOUCH_INVALID_FACE)
// {
say("The touched face could not be determined");
// }
else
// {
say("You touched face number " + (string) face);
// }
}
}
示例2
default
{
touch_start(integer num_detected)
{
integer link = llDetectedLinkNumber(0);
integer face = llDetectedTouchFace(0);
if (face == TOUCH_INVALID_FACE)
llSay(PUBLIC_CHANNEL, "Sorry, your viewer doesn't support touched faces.");
else
{
// store the original color
list colorParams = llGetLinkPrimitiveParams(link, [PRIM_COLOR, face]);
vector originalColor = llList2Vector(colorParams, 0);
// color detected face white
llSetLinkColor(link, <1.0, 1.0, 1.0>, face);
llSleep(0.2);
// color detected face black
llSetLinkColor(link, ZERO_VECTOR, face);
llSleep(0.2);
// color detected face back to original color
llSetLinkColor(link, originalColor, face);
}
}
}
|