ソラマメブログ
< 2008年07>
S M T W T F S
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
アクセスカウンタ
オーナーへメッセージ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。 解除は→こちら
現在の読者数 3人

2007年11月12日

アニメ/回転/座る/テレポート(LSL リファレンス)

 
名称種別内容
llStartAnimation関数アバターにアニメーションを実行させる。
llStopAnimation関数実行中のアニメーションをストップする。
llGetAnimationList関数アバターが実行中のアニメーションのUUIDを返す。
llTargetOmega関数オブジェクトを回転させる。
llAvatarOnSitTarget関数座っているアバターのUUIDを返す。
llSitTarget関数アバターの座る位置を指定する。
llUnSit関数座っているアバターを立たせる。
llMapDestination関数テレポートマップを表示する。
llTeleportAgentHome関数オーナーの土地にいるアバターを強制的にホームにテレポートする。

llStartAnimation <機能> アバターにアニメーションを実行させる。 ・実行には、PERMISSION_TRIGGER_ANIMATION の権限が必要。 ・アニメーションは、スクリプトと同じコンテンツ内に置いていなければならない。 ・複数のアニメーションを同時に実行させることが可能。 ・アニメーションをストップするには、llStopAnimationを実行する。 <構文> llStartAnimation(string anim) * anim : アニメーション名称を指定する。 <例> // オーナーに"Dance"というアニメーションを実行させる。 default { state_entry() { llRequestPermissions(llGetOwner(),PERMISSION_TRIGGER_ANIMATION); } run_time_permissions(integer perm){ if(perm & PERMISSION_TRIGGER_ANIMATION){ llStartAnimation("Dance"); } } } ページ先頭へ
llStopAnimation <機能> 実行中のアニメーションをストップする。 ・実行には、PERMISSION_TRIGGER_ANIMATION の権限が必要。 <構文> llStopAnimation(string anim) * anim : アニメーションの名称またはUUIDを指定する。 <例> // "Dance"というアニメーションを停止する。 llStopAnimation("Dance"); // アバターが実行中のすべてのアニメーションを停止する。 list anims = llGetAnimationList(llGetPermissionsKey()); integer aminct = llGetListLength(anims); integer i; for (i = 0; i < aminct; i++){ llStopAnimation(llList2Key(anims, i)); } ページ先頭へ
llGetAnimationList <機能> アバターが実行中のアニメーションのUUIDを返す。 結果は、リスト型で返る。ストリング型でないのは、アバターは複数のアニメを同時 に実行することが可能であるからである。複数のアニメーションを実行している場合 は、実行している全てのアニメーションのUUIDを返す。 <構文> list llGetAnimationList(key id) * id : アバターのUUIDを指定する。 <例> // アバターが実行中のすべてのアニメーションの名称を表示する。 list anims = llGetAnimationList(llGetPermissionsKey()); integer aminct = llGetListLength(anims); integer i; for (i = 0; i < aminct; i++){ llOwnerSay(llKey2Name(llList2Key(anims, i))); } ページ先頭へ
llTargetOmega <機能> オブジェクトを回転させる。 <構文> llTargetOmega(vector axis, float spinrate, float gain) * axis : 回転軸<x軸,y軸,z軸>を指定する。 * spinrate : 回転速度を指定する。数値が大きいほど高速。TWO_PI(6.283185)と指定すると毎秒1回転。 * gain : 回転の強さを指定する。物理オブジェクトのみ影響する。 <例> // Z軸を回転軸として毎秒1回転させる。 llTargetOmega(<0,0,1>,TWO_PI,1); ページ先頭へ
llAvatarOnSitTarget <機能> 座っているアバターのUUIDを返す。立ち上がった場合は、NULL_KEYを返す。 あらかじめllSitTargetを実行していなければならない。 <構文> key llAvatarOnSitTarget() <例> // 座っているアバターのUUIDを取得する。 default { state_entry() { llSitTarget(<0.0, 0.0, 0.1>, ZERO_ROTATION); } changed(integer change) { if (change & CHANGED_LINK) { key SitAvatarKey = llAvatarOnSitTarget(); } } } ページ先頭へ
llSitTarget <機能> アバターの座る位置を指定する。 <構文> llSitTarget(vector offset, rotation rot) * offset : 座る位置を相対座標で指定する。単位は、メートル。 * rot : 座る角度を指定する。 <例> // 座る位置をオブジェクトから高さ0.5mに指定する。 default { state_entry() { llSitTarget(<0.0, 0.0, 0.5>, ZERO_ROTATION); } } ページ先頭へ
llUnSit <機能> 座っているアバターを立たせる。 <構文> llUnSit(key id) * id : アバターのUUIDを指定する。 ページ先頭へ
llMapDestination <機能> テレポートマップを表示する。 ・このコマンドは、オブジェクトがアタッチされているかまたは、タッチイベントの中でしか実行されない。 <構文> llMapDestination(string sim_name, vector position, vector lookat) * sim_name : テレポート先のSIM名を指定する。 * position : テレポート先のグローバル座標を指定する。Z座標は、0〜1000mの制限あり。 * lookat : 現在使用されていない。とりあえずZERO_VECTORを指定。 <例> // オブジェクトをタッチしてテレポートマップを表示する。 string sim_name="JapanResort"; vector pos=<100,100,20> default { touch_start(integer a) { llMapDestination(sim_name, pos, ZERO_VECTOR); } } ページ先頭へ
llTeleportAgentHome <機能> オーナーの土地にいるアバターを強制的にホームにテレポートする。 <構文> llTeleportAgentHome(key id) * id : アバターのUUIDを指定する。 <例> // オブジェクトにタッチしたアバターをホームにテレポートする。 default { state_entry() { llSetText("Don't touch me!", <1,0,0>, 5.0); } touch_start(integer total_number) { llTeleportAgentHome(llDetectedKey(0)); } } ページ先頭へ

この記事へのトラックバックURL