查看“LlTakeControls”的源代码
←
LlTakeControls
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 = Function: llTakeControls( integer controls, integer accept, integer pass_on ); |参数= 参数:允许从脚本有权限的代理拦截键盘和鼠标单击,特别是由控件指定的那些。 •整型控件–控制标志的位域 •整数接受–布尔值,确定是否生成控制事件 •整数传递开启–布尔值,确定控件是否执行其正常功能 若要运行此函数,脚本必须使用llRequestPermissions请求权限\u TAKE\u CONTROLS权限。 如果accept为FALSE,pass-on为FALSE,则行为不是直观的。在这种情况下,指定控件的补码不会生成事件,也不会执行其正常功能。他们实际上是残疾人。在这种情况下,当指定时,某些控制位(例如,控制位左)也被禁用。 如果accept为FALSE且pass_on为TRUE,则指定的控件不会生成事件,而是执行其正常功能。 如果accept为TRUE,pass_on为FALSE,则指定的控件将生成事件,但不执行其正常功能。 如果accept为TRUE且pass_on为TRUE,则指定的控件将生成事件并执行其正常功能。 |返回值= 返回值:无 |注意事项=表格见附录 权限 不依赖于自动授予权限的状态。始终使用“运行时”权限事件。 如果脚本缺少权限\u TAKE\u控件,脚本将在DEBUG_CHANNEL上发出错误消息,操作将失败(但脚本将继续运行)。 一旦授予PERMISSION\u TAKE\u CONTROLS权限,就可以从脚本内部(使用llReleaseControls或新的llRequestPermissions调用)或用户从查看器中选择释放密钥来撤销它。脚本在重置时,或者对象被删除、分离或删除时也将丢失此权限。 当脚本中没有控制事件时,使用accept=TRUE、pass_on=TRUE似乎没有任何惩罚(例如,在AO中使用以确保它们在无脚本区工作) 某些权限中存在一个错误,如果将左键单击设置为accept=FALSE,pass\u on=TRUE,则会阻止鼠标左键单击 如果您坐/坐在已使用accept=TRUE和pass_on=TRUE获取控件的对象上,则“控制”“前进”、“控制”“后退”、“控制”“向左”和“向右控制”不会生成事件;相反,这些控件将只执行其正常功能。 如果未记录的控件0x02000000或0x04000000在pass_on=FALSE的情况下执行,则llGetAnimation将永远不会分别“左转”或“右转”,并且由llSetAnimationOverride设置的动画将永远不会播放 |示例= 示例1 <pre> default { state_entry() { llRequestPermissions(llGetOwner(), PERMISSION_TAKE_CONTROLS); } run_time_permissions(integer perm) { if(PERMISSION_TAKE_CONTROLS & perm) { llTakeControls( CONTROL_FWD | CONTROL_BACK | CONTROL_LEFT | CONTROL_RIGHT | CONTROL_ROT_LEFT | CONTROL_ROT_RIGHT | CONTROL_UP | CONTROL_DOWN | CONTROL_LBUTTON | CONTROL_ML_LBUTTON , TRUE, TRUE); } } control(key id, integer level, integer edge) { integer start = level & edge; integer end = ~level & edge; integer held = level & ~edge; integer untouched = ~(level | edge); llOwnerSay(llList2CSV([level, edge, start, end, held, untouched])); } } </pre> |相关函数= [[llGetPermissions]] –获得授权 [[llGetPermissionsKey]] –找到授予权限的代理 [[llRequestPermissions]]–请求权限 [[llReleaseControls]] |相关事件=[[run_time_permissions]]–权限接收事件 [[control]] }} 附录:(表格) {| class="wikitable" border="1" |- ! header 1 ! header 2 ! header 3 |- | row 1, cell 1 | row 1, cell 2 | row 1, cell 3 |- | row 2, cell 1 | row 2, cell 2 | row 2, cell 3 |}
该页面使用的模板:
模板:LSL Header
(
查看源代码
)
模板:LSLC
(
查看源代码
)
模板:LSLGC
(
查看源代码
)
模板:Multi-lang
(
查看源代码
)
模板:函数详情
(
查看源代码
)
返回至
LlTakeControls
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
网站首页
知识百科
编辑帮助
最近更改
工具
链入页面
相关更改
特殊页面
页面信息