スクリプト初歩

tomochanapr27

2009年01月20日 00:51


セカンドライフの世界では、摩訶不思議な体験が出来ますが
ジェットコースターに乗るとかTPして瞬間移動したり戦闘機に乗ったり
楽器を演奏など簡単な動作でもオブジェクトにはリンデンスクリプト言語
というプログラミング規約にしたがってコードが書かれてたノートがあります。
映像やテクスチャ(オブジェクトの表面の画像)音だけでも十分
SLの世界では楽しめますが、スクリプトをオブジェに吹き込むと
更に世界が広がると思います。

ぼくが、今まで培ってきたスクリプトの内容を少しずつ公開して
みなさんの参考になれればいいかなと思いこのカテゴリをつくりました^^

・スクリプトの登録方法
 オブジェクトのコンテンツ覧の新しいスクリをクリックするとContentsフォルダ配下にNew Scriptが作成されます。
 それをクリックして編集画面を開きます。

・内容 
default

   state_entry()
   {
    llSay(0, "Hello, Avatar"); 
   }

touch_atart(integer total_number)
{
   llSay(0, "Touched."); 
}



・意味
 defaultは標準ステートのことで、複雑なプログラミングをする場合はこのステートが何種類
 も出てきますが慣れてなければ決まり文句のようにこの構文のみ記述すれば良いと思います。
 意味はスクリプトが最初に動くステートのことです。
 書き方はdefault{}となります。かならず左かっこと右かっこを対に記述します。

 state_entry()は関数の一種ですがコンパイル後やリセットした時実行されます。
 書き方は関数名(){}となります。{}内にいろいろな処理を記入します。
 llSay(0, "Hello, Avatar"); では0番のパブリックチャンネルに文字列Hello, Avatar
 を出力せよという意味になります。パブリックチャンネルとは通常のチャット覧のこと。
 ちなみにチャット覧に表示されないチャンネルがオブジェクト間通信に使えますが
 チャンネル数は何百チャンネルか用意されています。

 touch_atart(integer total_number)は、オブジェクトをタッチし始めたとき呼び出される
 関数です。ここではllSay(0, "Touched.");があるのでチャット覧にTouched.が表示されます。
 
 関数の表記は 関数名(変数タイプ 変数名)となります。この関数では変数タイプが
 整数で変数名はtotal_numberとなります。total_numberにはタッチした人数が格納
 されます。
 
・注意
 構文の最後にはかならずセミコロン;を記述します。コンパイラという翻訳ソフトが文の区切り
 を検出するのに必要となります。

 今日は、この辺でへばってきたので~~~これにて終了^^;

・出典 セカンドライフ Linden Scripting Language プログラミング入門 赤坂玲音 著
スクリプト