ソラマメブログ
< 2008年08>
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            
アクセスカウンタ
オーナーへメッセージ
読者登録
メールアドレスを入力して登録する事で、このブログの新着エントリーをメールでお届けいたします。 解除は→こちら
現在の読者数 4人

2007年10月19日

電光表示板(リンデンスクリプト Tips)

フローティングテキストを電光表示板風に見せるスクリプトです。
画像では、分かりにくいですがフローティングテキストが色をランダムに変えながら左から右へ流れます。
お店の看板等に良いでしょうかw
<スクリプト>
//
//   MovingText script       v1.0
//
//                                       Created by Zero2000 Kid     2007/10/16
 
// #########################################
// #### parameter setting
// #########################################
// text string set
string TextString="Welcome to SHOP ZERO";
// text color set
vector TextColor=<1.00,1.00,1.00>;
// moving rate (second)
float MovingRate=0.5;

integer length;
integer counter=0;
 default {
       state_entry() {
               TextString+="     ";
               length=llStringLength(TextString);
               llSetTimerEvent(MovingRate);
       }
        timer() {
               if (counter==length) counter=0;
               string viewText1=llGetSubString(TextString,counter,length);
               string viewText2=llGetSubString(TextString,0,counter);
               TextColor.x=llFrand(1);
               TextColor.y=llFrand(1);
               TextColor.z=llFrand(1);
               llSetText(viewText1 + viewText2,TextColor, 1.0);
               counter++;
       }
 }

<スクリプトの説明>
(1)llStringLengthで文字列の長さを取得し、変数lengthにセットします。
(2)llSetTimerEvent()でタイマーイベントを発生させます。
(3)llGetSubStringを使用してcounterの数値からlength番目までの文字列を抜き出し、変数viewText1にセットします。
(4)llGetSubStringを使用して文字列の1番目からcounter番目までの文字列を抜き出し、変数viewText2にセットします。
(5)llFrandを使用し乱数を発生させ、カラーの色をセットします。
(6)llSetTextを使用し、変数viewText1+変数viewText2の内容をフローティングテキストとして表示します。
(7)以後counterの数値をインクリメントし、タイマイベントを繰り返します。
  (counter値は、lengthまでカウントしたら0に初期化します。)

*string TextString="Welcome to SHOP ZERO";行の""で囲まれている部分を変更すれば
表示するテキストを変更できます。
*float MovingRate=0.5;の部分の数値を変更すれば、文字の流れるスピードを変更できます。
(数値が小さいほど高速)


リンデンスクリプト Tips Intexへ


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