前回のLSL超初心者講座で、コンピューターの構造を記述しました。今回は、ソフトウェアの構造についてです。
リンデンスクリプト言語(LSL:Linden Script Language)は次の大小の構造に分けることができます。
●大構造:コンテンツ、スクリプト、ステート、イベント、関数
●小構造:変数、定数、制御構造、演算子
「大構造」の部分は、LSLの特徴を色濃く反映していますが、「小構造」の部分はLSL以外の言語に共通する仕様となっています。
今回は、LSLの大構造について見ていきます。
(個々の詳しい内容については次回以降で記述する予定です)
LSLはいくつかの階層で表現されます。
●コンテンツ(Contents:内容)
最下層のコンテンツ層はスクリプトの入れ物です。ここにスクリプトを記述します。
・・・スクリプト名は変更することができます。
・・・スクリプトは複数記述することができます。
例えば、「ツアーライド」のスクリプトと「課金」のスクリプトを別々に記述することができます。
この場合、個々のスクリプトは独立に動きます。ツアーライドの乗り物を動かしながら、課金を実行します。 
機能をハッキリと分けることができるスクリプトは分けて記述した方が、各スクリプトが短くなり見やすくなります。
●スクリプト(Script)
Contents層の上に、スクリプト層があります。この中に、ステートを記述します。
例えば、New Scriptの中は以下のようになっています。 
defaultステートは必須です。このステートがないとコンパイルエラーとなります。
スクリプト層に複数のステートを記述することができます。 defaultステート以外のステートは全てユーザーが定義します。
例えば、スイッチONとスイッチOFFとにステートを分けることができます。
ステートをハッキリと分けることができる場合は分けて記述した方が、各ステートが短くなり見やすくなります。
●ステート(State:状態)
スクリプト層の上に、ステート層があります。この中に、イベントを記述します。
例えば、defaultステートの中は以下のようになっています。
ステートの中に複数のイベントを記述することができます。
イベントの種類は既に決まっていて、ユーザーが追加定義することはできません。
●イベント(Event)
ステート層の上に、イベント層があります。この中に、関数を記述します。
例えば、state_entryイベントの中は以下のようになっています。
イベントの中に複数の関数を記述することができます。
●関数(Function)
関数とは、何らかのまとまった処理に名前を付けたものです。コンピューターの基本的な動き(入力→処理→出力)と相性がよい考え方です。
関数は、LSLに予め用意されている関数群(llSay関数、等)とユーザーが新たに定義する関数(ユーザー定義関数)に分類できます。
ユーザー定義関数の場合、最初に関数を定義する必要があります。
関数を定義する場所は決まっています。
・・・ユーザー定義関数はスクリプト層で定義する
関数を使用できる場所も決まっています。
・・・ユーザー定義関数の定義中(スクリプト層)
・・・イベント層
ユーザー定義関数の例: 関数名xyz 
●スクリプト「ハロー、アバター」
建造ウィンドウでオブジェクトを作成し、新しいスクリプトを作成した際に、最初から記述されているのが下記スクリプトです。
default
{
state_entry ( )
{
llSay(0, "Hello, Avatar!");
}
touch_start(integer total_number)
{
llSay(0, "Touched.");
}
}
これをLSL階層図にすると下図のようになります。
●建造ウィンドウの操作方法
sandboxでボックスを作成し、新しいスクリプトを作成する方法は以下を参照してください。細かい説明は読み飛ばし、主に建造ウィンドウの操作方法を習得してください。
1.sandboxでボックスを作成する方法
http://gameworkshop.blog106.fc2.com/category2-3.html
2.ボックスに新しいスクリプトを作成する方法http://gameworkshop.blog106.fc2.com/category2-2.html
●確認
1.contents層に複数のスクリプトを定義できることを実際に確認してください。
2.スクリプト層からdefaultステートを削除するとエラーになることを確認してください。
Author:Aa
SLプラネットへようこそ!
Tamachi で物づくりしてます。
皆さん、遊びにきてください。
ショップ(白屋)のSLURLです。マグスル東京の田町にあります。商品を展示販売しています。
パソコンの横において、疑問点をサッと調べられます!...
オブジェクト制作を基礎から解説!販売方法も詳しく記述!...
すぐに使えるサンプルプログラムを多数収録!...
関数の詳しい記述あり!辞書のように便利!...
ゲーム用パソコンならドスパラへ!Galleriaシリーズが大人気!