Difference between revisions of "LlGetAnimationList/ja"
Jump to navigation
Jump to search
Mako Nozaki (talk | contribs) m (Undo revision 849092 by Mako Nozaki (Talk)) |
Mako Nozaki (talk | contribs) |
||
Line 4: | Line 4: | ||
|func_footnote | |func_footnote | ||
|func_desc | |func_desc | ||
|return_text= | |return_text='''id''' で表されたアバターが再生しているアニメーションのキーのリスト | ||
|spec | |spec | ||
|caveats=* | |caveats=*再生しているアニメーションの名前を取得する内部メカニズムは存在しません。 | ||
*標準のアニメーションはスクリプトで開始終了できます。このため、返却されたリストにアバターの状態が正確に反映されているとは限りません。気になるようでしたら、{{LSLG/ja|llGetAgentInfo}} と {{LSLG/ja|llGetAnimation}} を使いましょう。 | |||
|constants | |constants | ||
|examples | |examples= | ||
このサンプルはちょっと複雑ですが、この関数にはそんなに多くの応用事例がありません。 | |||
<lsl>//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(); | |||
} | |||
}</lsl> | |||
|helpers | |helpers | ||
|also_functions={{LSL DefineRow|| | |also_functions={{LSL DefineRow||{{LSLG/ja|llGetAgentInfo}}|アバターの情報を取得します}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llGetAnimation}}|アバターの基本アニメーションの状態を取得します}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llStartAnimation}}|アバターでアニメーションを開始します}} | ||
{{LSL DefineRow|| | {{LSL DefineRow||{{LSLG/ja|llStopAnimation}}|アバターのアニメーションの再生を停止します}} | ||
|also_events | |also_events | ||
|also_tests | |also_tests |
Revision as of 04:02, 3 May 2010
LSL ポータル | 関数 | イベント | 型 | 演算子 | 定数 | 実行制御 | スクリプトライブラリ | カテゴリ別スクリプトライブラリ | チュートリアル |
要約
関数: list llGetAnimationList( key id );警告
- 再生しているアニメーションの名前を取得する内部メカニズムは存在しません。
- 標準のアニメーションはスクリプトで開始終了できます。このため、返却されたリストにアバターの状態が正確に反映されているとは限りません。気になるようでしたら、llGetAgentInfo と llGetAnimation を使いましょう。
サンプル
このサンプルはちょっと複雑ですが、この関数にはそんなに多くの応用事例がありません。 <lsl>//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(); }}</lsl>
関連項目
関数
• | llGetAgentInfo | – | アバターの情報を取得します | |
• | llGetAnimation | – | アバターの基本アニメーションの状態を取得します | |
• | llStartAnimation | – | アバターでアニメーションを開始します | |
• | llStopAnimation | – | アバターのアニメーションの再生を停止します |
特記事項
この項目はあなたにとって参考にならない項目ですか?もしかしたらLSL Wikiの関連した項目が参考になるかもしれません。