2009年09月27日
タッチでアニメーションを切り替えたいですが・・
こんばんは
オブジェクトをタッチしてその回数によって
再生されるアニメを変更していくスクリを作ろうとおもってるのですが・・
最近・・少しは理解してきたきがするですが・・
どうもまたつまってしまいました・・
ご指導いただばたすかりますm(_ _)m
-----------------------------------------------------------------------------------------------------
integer counter=0;
key agent = NULL_KEY;
default {
state_entry(){
counter = 0;
}
touch_start(integer detected){
counter ++;
if (counter == 0){
}
llRequestPermissions(llDetectedKey(0), PERMISSION_TRIGGER_ANIMATION);
}
}
if (counter == 1){
key chk = llGetInventoryKey("001");
list anms = llGetAnimationList(agent);
integer i;
for (i = 0; i < llGetListLength(anms); i++){
if (chk == llList2Key(anms, i)) {
llStopAnimation("boogie");
return;
}
}
llStartAnimation("001");
}
if (counter == 2){
key chk = llGetInventoryKey("002");
list anms = llGetAnimationList(agent);
integer i;
for (i = 0; i < llGetListLength(anms); i++){
if (chk == llList2Key(anms, i)) {
llStopAnimation("002");
return;
}
}
llStartAnimation("002");
}
}
}
-----------------------------------------------------------------------------------------------------
いろいろ・・ねばってみたんですが・・・
結果的に割ってない気もしたり
見当違いな組み方になってるとは思うですが・・
よろしくお願いしますm(_ _)m
テクスチェンジのHUDについて
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
モール用のプリムカウンターを探しています
連続するアニメーションの処理
オブジェクトの上にフローティングテキストを出す。
チャットログの盗聴について
椅子に座った後で位置調整できるスクリプト
たとえば、
オブジェクトはHUDではなくどこかにRezされているもの?
タッチする人は特定の人か、それとも不特定多数?
持ち主がタッチしたら、今再生しているアニメーションを停止してアニメーション”001”を再生させる。
↓
次にタッチしたら、”001”を停止して”002”を再生させる
↓
またタッチしたら”002”を停止して”003”を再生させる
て感じなのかな?
どのようなシチュエーションで使用されるものなのかが、いまいち見えないので・・・
オブジェクト自体はアバター装着です。
それを本人だけがタッチ出来て
最初のタッチで001を再生
次にタッチしたら002を再生
3回目で003を再生
4回目でアニメを停止としたいんですが・・
依然・・思うようにはいってないです
.+:。ヨヨヨョョョ(´;ω;`)´-ω-`)´_ _`)ョョョヨヨヨ゚.+:。
・オーナーのみが操作
・アニメーション数は3
という条件で、処理手順を考えてみました。
list anms = ["001", "002", "003"];
integer counter = 0;
attachイベント
・アタッチされたなら、パーミッションのリクエスト
・デタッチされたなら、(アニメーションしている場合は)アニメーションを停止
touchイベント
(HUDでない(他の人もタッチできる場所)なら、if文でオーナーのみに限定)
・コンテンツ内のアニメーションを再生している場合は停止する
・counter<3の場合(1~3回目のタッチ)
・リストanmsのcounter番目のアニメーション名を再生する
(例えばcounterが0なら、0番目である”001”)
・counterをインクリメント(counter++)
・counter==3の場合(4回目のタッチ)
・counterを0に戻す
コンテンツ内のアニメーションを入れ替えて名前や数が変わる可能性があるなら、そのあたりを考慮した処理が必要になってきますね。
がんばってください。
せっかくヒントを頂いたですが・・
私には無理なようです。
ねばってみましたが・・
組あげることはできませんでした。
.+:。ヨヨヨョョョ(´;ω;`)´-ω-`)´_ _`)ョョョヨヨヨ゚.+:。
http://mydiary.slmame.com/e741755.html
コメントありがとうございます。
昨日の時点でちょっとあきらめてしまった感が
あるのですが・・
ブログの方確認させて頂きなんとか組あげることが
できました。
わかりやすく解説もして頂き
大変助かりました。
ありがとうございますm(_ _)m