セカンドライフプラネット

セカンドライフのスクリプト言語(LSL)をプラネットします。3DCG で物体をプラネットしたりもします。

Ads by Google

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

リンデンスクリプト言語の構造

前回のLSL超初心者講座で、コンピューターの構造を記述しました。今回は、ソフトウェアの構造についてです。

リンデンスクリプト言語(LSL:Linden Script Language)は次の大小の構造に分けることができます。

●大構造:コンテンツ、スクリプト、ステート、イベント、関数
●小構造:変数、定数、制御構造、演算子

「大構造」の部分は、LSLの特徴を色濃く反映していますが、「小構造」の部分はLSL以外の言語に共通する仕様となっています。

今回は、LSLの大構造について見ていきます。
(個々の詳しい内容については次回以降で記述する予定です)

LSLはいくつかの階層で表現されます。

●コンテンツ(Contents:内容)
最下層のコンテンツ層はスクリプトの入れ物です。ここにスクリプトを記述します。

・・・スクリプト名は変更することができます。
・・・スクリプトは複数記述することができます。

セカンドライフ スクリプト contents

例えば、「ツアーライド」のスクリプトと「課金」のスクリプトを別々に記述することができます。

この場合、個々のスクリプトは独立に動きます。ツアーライドの乗り物を動かしながら、課金を実行します。

セカンドライフ スクリプト contents

機能をハッキリと分けることができるスクリプトは分けて記述した方が、各スクリプトが短くなり見やすくなります。

●スクリプト(Script)
Contents層の上に、スクリプト層があります。この中に、ステートを記述します。

例えば、New Scriptの中は以下のようになっています。

セカンドライフ スクリプト script

defaultステートは必須です。このステートがないとコンパイルエラーとなります。

スクリプト層に複数のステートを記述することができます。 defaultステート以外のステートは全てユーザーが定義します。

例えば、スイッチONとスイッチOFFとにステートを分けることができます。

セカンドライフ スクリプト script

ステートをハッキリと分けることができる場合は分けて記述した方が、各ステートが短くなり見やすくなります。

●ステート(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ステートを削除するとエラーになることを確認してください。

テーマ:セカンドライフ - ジャンル:オンラインゲーム

  1. 2007/09/01(土) 06:19:31|
  2. LSL-Tips集
  3. | トラックバック:0
  4. | コメント:0
<<ミュートの失敗 | ホーム | Campingモグラたたきをつくりました>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://gameworkshop.blog106.fc2.com/tb.php/29-bf5865bf
この記事にトラックバックする(FC2ブログユーザー)

プロフィール

Author:Aa
SLプラネットへようこそ!
Tamachi で物づくりしてます。
皆さん、遊びにきてください。

ショップのSLURL

ショップ(白屋)のSLURLです。マグスル東京の田町にあります。商品を展示販売しています。

マグスル東京、田町、白屋

最近の記事

月別アーカイブ

カテゴリー

ブログ内検索

おすすめ商品!


パソコンの横において、疑問点をサッと調べられます!...



オブジェクト制作を基礎から解説!販売方法も詳しく記述!...



すぐに使えるサンプルプログラムを多数収録!...



関数の詳しい記述あり!辞書のように便利!...

ゲームPC

ゲーム用パソコンならドスパラへ!Galleriaシリーズが大人気!

リンク

このブログをリンクに追加する

スポンサードリンク

スポンサードリンク

最近のコメント

最近のトラックバック

RSSフィード

By FC2ブログ

今すぐブログを作ろう!

Powered By FC2ブログ

FC2カウンター