查看“LlSetClickAction”的源代码
←
LlSetClickAction
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: llSetClickAction( integer action ); |参数= 参数:• integer action – CLICK_ACTION_* flag |返回值= 返回值:设置单击prim时执行的操作(又名单击操作)。 当光标悬停在prim上时,它的图像会改变以反映操作。 |注意事项=当在一个对象的根中设置时,所选的CLICK_ACTION_*将是为孩子们也即使他们有自己的llSetClickAction集(它将被覆盖)。然而(例如在触摸)如果CLICK_ACTION_ *在根中设置,但不是所有的孩子(包括事件脚本在他们没有联系(这将创建一个默认CLICK_ACTION_TOUCH))的影响根源CLICK_ACTION_ *未见但CLICK_ACTION_ *点击使用。为了使用和看到正确的光标,CLICK_ACTION_*标志必须在子目录和根目录中匹配。 如果llSetClickAction是CLICK_ACTION_PAY,那么您必须有一个money事件,否则它将恢复为CLICK_ACTION_NONE。 当此功能工作或附加对象(可以更改单击操作)时,查看器将忽略配置的附件单击操作。查看器的行为始终像一个附加对象已经设置了CLICK_ACTION_TOUCH。 |示例= '''make sitting easier''' <pre> default { state_entry() { llSetClickAction(CLICK_ACTION_SIT); llRemoveInventory(llGetScriptName()); } } </pre> <pre> // simple tipjar default { state_entry() { llSetClickAction(CLICK_ACTION_BUY); //启用了自己的金额编辑字段,所有快速支付按钮隐藏 llSetPayPrice(PAY_DEFAULT, [PAY_HIDE, PAY_HIDE, PAY_HIDE, PAY_HIDE]); } money(key id, integer amount) { string name = llKey2Name(id); llInstantMessage(id, "Thank you for the tip, " + name + "!"); } } </pre> <pre> //Sit Only with Permission list gAvWhitelist = ["953d10f1-44ce-462a-8bc1-f634333ee031","599dce91-a2b8-48c5-b96d-54965433022b"]; default { state_entry() { llSitTarget(<0.0,0.0,0.5>,ZERO_ROTATION); } changed(integer change) { if(change & CHANGED_LINK) { list Properties = llGetObjectDetails(llGetKey(),[OBJECT_CLICK_ACTION]); integer Click = llList2Integer(Properties,0); key Av = llAvatarOnSitTarget(); if ((Av != NULL_KEY) && (!Click)) { llSay(0,"Please click first for permission to sit."); llUnSit(Av); } } } touch_start(integer total_number) { list Properties = llGetObjectDetails(llGetKey(),[OBJECT_CLICK_ACTION]); integer Click = llList2Integer(Properties,0); if (!Click && (~llListFindList(gAvWhitelist,[(string)llDetectedKey(0)])) ) { llSetClickAction(CLICK_ACTION_SIT); llSetTimerEvent(10.0); llSay(0,"Please take a seat."); } else { llSetClickAction(CLICK_ACTION_TOUCH); if (llAvatarOnSitTarget() != NULL_KEY) { llSay(0,"Good bye!"); } else { llSay(0,"Sorry. You are not allowed to sit here."); } llUnSit(llDetectedKey(0)); } } timer() { llSetTimerEvent(0.0); llSetClickAction(CLICK_ACTION_TOUCH); } } </pre> |相关函数= [[llPassTouches]] |相关事件= [[touch_start]] [[touch]] [[touch_end]] }} 附录:(表格) {| class="wikitable" border="1" |- ! Flag ! ! Description |- | [[CLICK_ACTION_BUY]] | 2 | 当点击prim时,会打开buy对话框 |- | [[CLICK_ACTION_DISABLED]] | 8 | 没有点击动作。没有检测到或传递触摸。 |- | [[CLICK_ACTION_NONE]] | 0 | 执行默认动作:当prim被触摸时,触摸事件被触发 |- | [[CLICK_ACTION_OPEN]] | 4 | 当触摸prim时,对象库存对话框打开 |- | [[CLICK_ACTION_OPEN_MEDIA]] | 6 | 触摸播放包裹媒体,没有暂停 |- | [[CLICK_ACTION_PAY]] | 3 | 当点击prim时,pay对话框打开 |- | [[CLICK_ACTION_PLAY]] | 5 | 播放或暂停包裹媒体触摸 |- | [[CLICK_ACTION_SIT]] | 1 | 当触碰物体时,化身就坐在它上面 |- | [[CLICK_ACTION_TOUCH]] | 0 | 当prim被触摸时,触摸事件被触发 |- | [[CLICK_ACTION_ZOOM]] | 7 | Zoom ([[Viewer 2]]) |}
该页面使用的模板:
模板:LSL Header
(
查看源代码
)
模板:LSLC
(
查看源代码
)
模板:LSLGC
(
查看源代码
)
模板:Multi-lang
(
查看源代码
)
模板:函数详情
(
查看源代码
)
返回至
LlSetClickAction
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息