LlGetAnimationList

来自人工智能助力教育知识百科
Kjf讨论 | 贡献2021年8月29日 (日) 02:40的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

Template:Needs Translation/


函数名
Function: list llGetAnimationList( key avatar )
参数:key avatar–在同一区域化身的UUID
返回值:返回一个播放动画的按键列表。
注意事项
注意事项
  • 没有内部机制来获取正在播放的动画的名称。
  • 标准动画可以通过脚本启动和停止,所以返回的列表可能不能准确反映角色的状态。使用llGetAgentInfo和llGetAnimation。
  • 有些动作对观看者来说是局部的,不能被脚本检测到。
  • 由其他动画触发的动画对查看器来说是本地的,脚本无法检测到。
示例
这个示例有点复杂,但是用于这个函数的应用程序并不多。
//Simple Animation Override for Walk
key old_anim = "6ed24bd8-91aa-4b12-ccc7-c97c857ab4e0";
string new_anim="yoga_float";
integer status;
list check;
key owner;
 
default
{
    state_entry()
    {
        owner = llGetOwner();
        llRequestPermissions(owner, PERMISSION_TRIGGER_ANIMATION);
        check = [old_anim];
    }
 
    run_time_permissions(integer p)
    {
        if(p & PERMISSION_TRIGGER_ANIMATION)
        {
            llSetTimerEvent(0.2);
        }
    }
 
    timer()
    {
        if(llGetAgentInfo(owner) & AGENT_WALKING)
        {
            list anims = llGetAnimationList(owner);
            if(~llListFindList(anims, check))
            {
                status = 1;
                llStartAnimation(new_anim);
                llStopAnimation(old_anim);
            }
        }
        else if(status)
        {
            llStopAnimation(new_anim);
            status = 0;
        }
    }
 
    on_rez(integer p)
    {
        llResetScript();
    }
}
相关函数
llGetAgentInfo -获取头像信息

llGetAnimation -获取角色的基本动画状态 llStartAnimation -在一个化身上开始一个动画 llStopAnimation -停止在角色上播放的动画

相关事件