ソラマメブログ

2011年05月01日

アニメの連続再生スクリプト

(* ´艸`)コンバン… (∩´∀`)∩ワァ♪

先ほど、Tomgirlさんのチャリティイベント(でいいのかな・・・)にお邪魔してきました❤
とっても素敵な声と音楽でした~(*´ェ`*)
ありがとうございました^^

関連とゆう訳でもないのですが、MMD(Miku Miku Dance)のモーションをSLで
個人的に楽しませて頂いています^^
やり方は、既にすごく丁寧に解説して下さっているブログ様がありますので、
そちらをご参照ください^^
私が参考にさせて頂いてるのは、

さて、今夜はSLへアニメーションを複数アップロードして
それを連続で再生させるスクリプト(自作)を大公開っ (*゚▽゚ノノ゙☆パチパチ
せっかくアップロードしたのに、再生が手動・・・・
どうしたらいいんだ~!! とゆうビギナーの方に、ビギナーの私がお伝え致しますっ

えと・・・ですね、
以下のスクリプトをコピペでww
なんちゃってスクリプトなんで、動作の保障はできません・・・w
そして
効率とか負荷とか全く考えてませんので・・・ご了承を・・・w
(そんな重くないと、個人的には思ってるw)
詳しいひとが見たら、笑っちゃうような書き方だと思いますので・・・
あー・・・なんか使ってない変数ありそうだwwwww
あくまでも、とりあえず、的な感じで・・・m(_ _;)m

コンテンツに入れるアニメーションのファイル名は
連続してる必要があります

file1
file2
file3
....
って感じです

以上でーすw 

(人-ω-)。o.゚。*・★Good Night★・*。゚o。(-ω-人)

key agent = NULL_KEY;
integer ch = 0;
float ANIM_SLEEPTIME = 29.96;//アニメとアニメのつなぎ目が気になる方は、ここの数値をいじってみてください
integer i = 1;
integer handle;
integer ANIME_KAZU = 11; // 再生するアニメの数
string ANIME_FILE_NAME = "anime-filename"; //コンテンツのアニメファイルの名前
string ANIME_TRIGER_NAME = "start"; //スタートさせるときのチャットコマンド お好みで
integer sw = 0;
integer dance = 0;
string Say_name = "";

default {
   state_entry()
  {

      handle = llListen(ch,"","","");
      Say_name = llKey2Name(llGetOwner()); 
  }
  
  listen(integer ch,string name,key id,string mess)
  {
      if(mess == ANIME_TRIGER_NAME)
      {
          
          if (agent == NULL_KEY) 
     {
              dance = 1;
              agent = llGetOwner();
              llRequestPermissions(agent, PERMISSION_TRIGGER_ANIMATION);
          }
      }
      
      if((mess == "Stop" || mess == "stop") && dance == 1)
      {
          integer t;
          for(t=i-1;t<=ANIME_KAZU;t=t+1)
          {
              llStopAnimation(ANIME_FILE_NAME+(string)t);
         }
          llListenRemove(handle);
            llResetScript();
      }
      
      if((mess == "Reset" || mess == "reset")&& name == Say_name)
      {
          integer t;
          llOwnerSay("DANCE RESETED.");
          if(dance == 1)
          {
              for(t=i-1;t<=ANIME_KAZU;t=t+1)
              {
                  llStopAnimation(ANIME_FILE_NAME+(string)t);
             }
          }
          llResetScript();
        }
  }
  

  run_time_permissions(integer perm) {
   
       sw = 1;
       llStartAnimation(ANIME_FILE_NAME+(string)i);
       i = i + 1;
       llSetTimerEvent(ANIM_SLEEPTIME);
       
  }
  
  timer()
  {
        if(i <= ANIME_KAZU )
        {
            llStartAnimation(ANIME_FILE_NAME+(string)i);
          
            llStopAnimation(ANIME_FILE_NAME+(string)(i - 1));
            i = i + 1;
        }
        else    
        if(i == ANIME_KAZU + 1) 
        {
           llResetScript();
        }
      
      agent = NULL_KEY;
    }
  
}

アニメの連続再生スクリプト


同じカテゴリー(モノ作り)の記事画像
制作快調っ
乗り物を運べる物理エレベーター
リニューアル。。。。。してみた。。。
これはひどいw
フリー・管制塔!!w
消防車などを・・・しまえそうなやつw
同じカテゴリー(モノ作り)の記事
 制作快調っ (2011-07-08 20:39)
 乗り物を運べる物理エレベーター (2011-06-12 20:30)
 リニューアル。。。。。してみた。。。 (2011-06-02 08:22)
 これはひどいw (2011-06-01 00:17)
 フリー・管制塔!!w (2009-08-28 22:49)
 消防車などを・・・しまえそうなやつw (2009-08-27 00:01)
Posted by リア at 01:44│Comments(1)モノ作り
この記事へのコメント
コピーして、使わせてもらいます。
Posted by hyakuji at 2012年05月07日 09:13
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。