LlSetLinkAlpha
首页 | 函数 | 事件 | 类型 | 操作符 | 常数 | Flow Control | Script Library | Categorized Library | Tutorials |
函数名 |
---|
Function: llSetLinkAlpha( integer link, float alpha, integer face ); |
参数:
• integer link – Link number (0: unlinked, 1: root prim, >1: child prims and seated avatars) or a LINK_* flag • float alpha– from 0.0 (clear) to 1.0 (solid) (0.0 <= alpha <= 1.0) |
返回值:如果一个基本物体存在于link set中,则对该物体的面进行alpha设置。
如果面是ALL_SIDES,那么函数对所有面都起作用。 |
注意事项 |
---|
如果该函数的面值表示一个不存在的面值,则该函数将悄无声息地失败。 |
示例 |
---|
//使整个对象消失5秒 default { touch_start(integer num_detected) { // transparent llSetLinkAlpha(LINK_SET, 0.0, ALL_SIDES); llSetTimerEvent(5.0); } timer() { // opaque llSetLinkAlpha(LINK_SET, 1.0, ALL_SIDES); llSetTimerEvent(0.0); } } //当对象被触摸时, //淡出,然后再回来 default { touch_start(integer num_detected) { // fade out float alpha = 1.0; while (alpha >= 0.0) { llSetLinkAlpha(LINK_SET, alpha, ALL_SIDES); alpha -= 0.001; } // fade in while (alpha < 1.0) { alpha += 0.001; llSetLinkAlpha(LINK_SET, alpha, ALL_SIDES); } } } //使链接集中选中的prims在聊天命令中变得透明或可见。给每个prim一个唯一的名字。 list PrimList = ["ALL"]; //用一个假条目开始我们的prim列表,这样列表中的索引将直接对应于链接号 //通过使虚拟条目‘ALL’,我们也为该选项提供了匹配 default { changed (integer change) { if (change & CHANGED_LINK) llResetScript(); } state_entry() { integer PrimCount = llGetNumberOfPrims(); llListen(37, "", NULL_KEY, ""); // 在37频道听任何人的聊天命令 integer i; for (i = 1; i <= PrimCount; ++i) PrimList += llToUpper(llGetLinkName(i) ); // 构建一个大写链接名称列表,其中列表位置等于链接编号 } listen(integer channel, string name, key id, string msg) { list TempList = llCSV2List( llToUpper(msg) ); //从用户命令行的大写版本创建一个列表 integer ListLen = llGetListLength (TempList); integer alpha = (llList2String(TempList, 0) == "SHOW"); //“SHOW”将选中的prim设置为可见,否则设置为透明 // e.g. HIDE,PLATE,SPOON,NAPKIN <---- makes named prims invisible // e.g. SHOW,ALL <---- makes all prims visible integer i; for (i = 1; i < ListLen; ++i) { string ThisPrim = llStringTrim(llList2String(TempList, i), STRING_TRIM); integer LinkNumber = llListFindList(PrimList, [ThisPrim]); if (~LinkNumber) // i.e. if LinkNumber != -1 { if (!LinkNumber) LinkNumber = LINK_SET; // list position 0 is 'ALL' llSetLinkAlpha(LinkNumber, alpha, ALL_SIDES); } } } } |
相关函数 |
---|
llGetLinkNumber - 返回脚本所在的prim的链接号。
llGetAlpha - Gets the prim's alpha llSetAlpha - Sets the prim's alpha llGetColor - Gets the prim's color llSetColor - Sets the prim's color |
相关事件 |
---|
changed - CHANGED_COLOR |
附录:(表格)
Flag | Description | |
---|---|---|
LINK_ROOT | 1 | 指多基本物体链接集合中的root基本物体 |
LINK_SET | -1 | 指所有的基本物体 |
LINK_ALL_OTHERS | -2 | 指所有其他基本物体 |
LINK_ALL_CHILDREN | -3 | 指所有的子元素,(除了根元素以外的) |
LINK_THIS | -4 | 指的是脚本所在的基本物体 |