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();
}
}
|