LlSetPos
首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
函数名 |
---|
Function: llSetPos( vector pos ); |
参数:
•矢量位置-根据情况在区域或局部坐标中的位置(参见规范)。 对于未连接的根prim,每次调用的移动限制为10m。 |
返回值:在不使用物理的情况下将对象或基本体移向pos。 |
注意事项 |
---|
此函数可用于非物理根prim和所有子prim。如果对象是物理对象,它对根prim没有影响。
坐标系 根基本体(或单个基本体对象) 附属的 pos是相对于附着点的局部坐标。 未连接 pos是区域坐标。 子基元组(非根基元组) pos是相对于根基元的局部坐标。 此函数使脚本休眠0.2秒。 由于此函数混合了本地坐标和区域坐标,所以当需要prims位置时,最好使用llGetLocalPos。 此函数在物理对象的根原语中不起作用。使用一个物理函数,比如llMoveToTarget。 如果您明确地将对象设置为“静态障碍物”进行路径查找,则函数将失败,并在调试通道中显示错误: “无法设置主位置或比例:对象对navmesh有贡献。” |
示例 |
---|
示例1
//Move the object up 1m when someone touches it. default { touch_start(integer i) { llSetPos(llGetPos() + <0,0,1>); } } // to bypass the small movement bug use this // - created by Madpeter Zond // notes: it does not check if the movement would go out of limit range for linked prims llSetLocalPos(vector offset) { vector save = offset; if(offset.x < 0.0) offset.x -= 1; else offset.x += 1; if(offset.y < 0.0) offset.y -= 1; else offset.y += 1; if(offset.z < 0.0) offset.z -= 1; else offset.z += 1; llSetPos(offset); llSetPos(save); } |
相关函数 |
---|
llSetRegionPos–将对象的位置设置为区域内的任何位置。
llGetLocalPos–返回prim的本地位置(如果是附加的或非根的)(否则返回全局位置) llGetRootPosition–获取根prims位置 llGetPos–返回prim的全局位置,即使它是附加的还是非根的 |
相关事件 |
---|