“LlDetectedGrab”的版本间的差异
(创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: vector llDetectedGrab( integer number ); |参数= 参数…”) |
|||
| 第5行: | 第5行: | ||
|函数名 = Function: vector llDetectedGrab( integer number ); | |函数名 = Function: vector llDetectedGrab( integer number ); | ||
|参数= 参数: integer number–Index of detection information number does not support negative indexes. | |参数= 参数: integer number–Index of detection information number does not support negative indexes. | ||
| − | |返回值= 返回值:Returns | + | |返回值= 返回值:Returns a vector that is the grab offset of the user touching the object; only works in the touch event. |
2020年4月13日 (一) 09:41的版本
| 首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
| 函数名 |
|---|
| Function: vector llDetectedGrab( integer number ); |
| 参数: integer number–Index of detection information number does not support negative indexes. |
| 返回值:Returns a vector that is the grab offset of the user touching the object; only works in the touch event. |
| 注意事项 |
|---|
注意事项
|
| 示例 |
|---|
示例1
default
{
state_entry()
{
llSetStatus(PRIM_PHYSICS,TRUE);//This allows the object to be "grabbed" and dragged
}
touch(integer num_detected)
{
llSay(0,(string)llDetectedGrab(0));//Be prepared for a great amount of chatted info.
//The faster you move the mouse while grabbing the object the greater the offset becomes.
//This is not due to the speed but the reaction time of the turn around of the physical prim,
//thus an offset (distance from grab to prim center) is created and measured by this function.
}
}
示例2 /******
Simple llDetectedGrab illustration, rez a prim and add this script.
The prim will become a cone that follows mouse grabs.
Click and hold the mouse button down on the object, then:
- Drag left and right to move parallel to the camera focal plane.
- Drag up and down to move to and from the camera.
- Hold down Ctrl, then drag up and down to move vertically.
******/
default
{
state_entry()
{
llMinEventDelay(0.25);
llSetStatus(STATUS_PHYSICS, FALSE); // make the object static for simplicity
llSetPrimitiveParams([
PRIM_SIZE, <0.5, 0.5, 0.5>,
PRIM_TYPE, PRIM_TYPE_CYLINDER, PRIM_HOLE_DEFAULT, <0.0, 1.0, 0.0>,
0.0, ZERO_VECTOR, ZERO_VECTOR, ZERO_VECTOR
]); // a cone that can follow the mouse pointer
}
touch(integer total_number)
{
llLookAt(llGetPos() + llDetectedGrab(0), 1.0, 1.0);
}
}
|
| 相关函数 |
|---|
| llPassTouches |
| 相关事件 |
|---|
| touch_start |