LlSetLinkPrimitiveParamsFast
Mkx(讨论 | 贡献)2020年8月26日 (三) 04:28的版本 (创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} '''提示''': llSetPrimitiveParams, llSetLinkPrimitiveParams, llSetLinkPrimitivePara…”)
首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
提示: llSetPrimitiveParams, llSetLinkPrimitiveParams, llSetLinkPrimitiveParamsFast这些函数几乎完全相同。对于几乎所有的情况,我们建议您使用llSetLinkPrimitiveParamsFast。在wiki中三个函数被总结在了一起难以翻译,若您想查阅更完整的函数,参见[1]
函数名 |
---|
Function: llSetLinkPrimitiveParamsFast( integer link, list rules ); |
参数:• integer link – Link number (0: unlinked, 1: root prim, >1: child prims and seated avatars) or a LINK_* flag
• list rules |
返回值:根据规则设置prims参数。
与上面的变体相比,这个函数比其他LSL函数要快。 |
注意事项 |
---|
有时候llSetLinkPrimitiveParamsFast太快了,也就是说,函数返回后,下一行代码在更新处理完成前执行并返回,导致更新出现混乱。在大多数情况下,行为上没有区别,但有时会有。在这些情况下,您需要使用llSetPrimitiveParams或llSetLinkPrimitiveParams。
这是因为llSetLinkPrimitiveParamsFast有效负载是异步执行的,而llSetPrimitiveParams和llSetLinkPrimitiveParams有效负载是同步执行的(或者延迟使其看起来是同步的)。 |
示例 |
---|
这是一个简单的脚本,当触碰链接集中的一个prim时,它会亮起这个prim,当脚本安装在链接集中的根prim中时,它会用llSetLinkPrimitiveParams亮起其他的prim。
// Turn all prims off and the one touched turn on default { touch_start(integer num_detected) { llSetLinkPrimitiveParamsFast(LINK_SET, [ PRIM_FULLBRIGHT, ALL_SIDES, FALSE, PRIM_LINK_TARGET, llDetectedLinkNumber(0), PRIM_FULLBRIGHT, ALL_SIDES, TRUE]); } } 一个简单的脚本,当被触碰时,它将所有的子prim在根轴Z轴上向前移动0.25 m。 default { touch_start(integer total_number) { integer numberOfPrims = llGetNumberOfPrims(); if (numberOfPrims < 2) return; vector link_pos; list params; integer link = 2;// start with first child prim do { // 获取子prim的局部位置(即相对于根prim) link_pos = llList2Vector(llGetLinkPrimitiveParams(link, [PRIM_POS_LOCAL]), 0); link_pos.z += 0.25;// relative to root's local z-axis !!! params += [PRIM_LINK_TARGET, link, PRIM_POS_LOCAL, link_pos]; } while (++link <= numberOfPrims); if (!llGetListLength(params)) return; // params列表以PRIM_LINK_TARGET开始(这是我们可以开始的一个技巧) 因此,在这个函数调用中,将哪个数字作为第一个参数实际上并不重要 llSetLinkPrimitiveParamsFast(2, params); } } |
相关函数 |
---|
llGetLinkNumber - 返回脚本所在的prim的链接号。
llGetLinkNumberOfSides - 返回链接的prim的面数。 llGetPrimitiveParams - 获得许多基本参数 llSetLinkPrimitiveParams - 在linkset中设置其他prim的参数 llGetLinkPrimitiveParams - 在likset中获取其他prim的许多基本参数 llSetLinkPrimitiveParamsFast - 在linkset中设置其他prims的参数 llSetAlpha - 简单的方法来设置alpha(透明度)而不需要(重新)设置颜色。 llSetTexture - 设置纹理的简单方法 llSetColor - 设置颜色的简单方法 llSetScale - 设置比例的简单方法 llSetStatus - 设置物理和幻影的方法更简单 |
相关事件 |
---|
无 |