LlStopAnimation

来自人工智能助力教育知识百科
Wzc讨论 | 贡献2020年8月10日 (一) 08:03的版本 (创建页面,内容为“{{LSL Header|ml=*}}{{LSLC|Keywords}}{{LSLC|Flow Control}}{{LSLC|}} {{函数详情 |函数名 =Function: llStopAnimation( string anim ); |参数= 参数: •字…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

Template:Needs Translation/


函数名
Function: llStopAnimation( string anim );
参数:

•字符串动画–此脚本所在的prim目录中的动画,或动画或内置动画名称的UUID 若要运行此函数,脚本必须使用llRequestPermissions请求权限“触发器”动画权限。

返回值:为授予权限的代理停止动画动画如果权限未被吊销,则触发动画。
注意事项
权限

不要依赖于权限的自动授予状态。始终使用“运行时”权限事件。 如果脚本缺少权限“触发器”动画,则脚本将在调试频道上发出错误消息,操作将失败(但脚本将继续运行)。 一旦授予权限“触发器动画”权限,则除了从脚本内部(例如,使用新的llRequestPermissions调用)或重置脚本外,可能无法撤消该权限。 对于查看器3.6.7及更高版本:如果对象未附加到权限授予器,但位于同一区域,则“我>移动>停止动画制作”将同时撤消权限“触发器动画”和“权限覆盖动画”(其他权限将保留)。 如果prim的目录中缺少anim,并且它不是UUID或者不是动画,那么DEBUG永CHANNEL上会出现错误。 如果anim是一个UUID,那么对象没有新的资产权限后果。 生成的对象不会产生新的使用限制,如果资产被放在prims库存中,可能会出现这种情况。 如果要停止的动画是唯一正在播放的动画(通过llGetAnimationList可以找到),它将继续播放到结束(如果循环,它将无限期地继续) 如果必须停止循环动画,则在停止后立即以低优先级播放单帧非循环动画将清除列表。

示例
示例1
default
{
    touch_start(integer detected)
    {
        llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);
    }
    run_time_permissions(integer perm)
    {
        if (perm & PERMISSION_TRIGGER_ANIMATION)
        {
            llStartAnimation("sit");
            llOwnerSay("animation will end in 5 seconds");
            llSetTimerEvent(5.0);
        }
    }
    timer()
    {
        llSetTimerEvent(0.0);
        llStopAnimation("sit");
    }
}
相关函数
llGetPermissions–获得授权

llGetPermissionsKey –获取授予权限的代理

llRequestPermissions–请求权限

llGetAnimationList–获取播放动画的列表

llStartAnimation–开始播放动画

相关事件
run_time_permissions–权限接收事件