::mayukoの小ネタ defaultってなんだろ?状態のはなし

   
  

 投稿者 ::mayuko

defaultってなんだろ?ステート(状態)のはなしです

LSLというスクリプトはタッチされたり聞いたり何かが衝突したり
といったことをトリガーとして何かをするというスクリプトです。
こういったスクリプトの事をイベント駆動と言います。
ということはスクリプトを書き上げて
コンパイルすると何かのイベントを待っているという
待機の状態で始まります。

通常はこれでなにかのイベントをトリガーとして起動して
オブジェクトを動かせてみたり、しゃべってみたり
条件を付けて分岐したり、計算したりといった事をします。

しかしLSLはもうひとつ機能をもっています。
それはプログラムの書き手が明確な区分けをして
複数の状態を定義しその流れを決め遷移させて動かすということが
出来るということです。

このように書き手が区分けして定義して
状態を遷移しながら動くプログラムをステート・マシン
(状態機械)とかオートマトンとか言います。
手順を明確に決めれば、状態を遷移することによって
状態1でタッチした場合は「ホイットはスケベ」としゃべらせて
状態2でタッチした場合は「ホイットは紳士」と文字を浮かべることが
出来ます。
*こんな小さなプログラムの「ホイットはスケベ」プログラムでは
ステートチェンジ(状態遷移)をする必要はないんですけど、例題ねw

たぶん最初に小さなプログラムから挑戦するような
この記事を読んでいる方はステートを変えるということをしないでも
分岐したりとかそう言ったことでほとんどのプログラムを書き終えるでしょう。
*どうやって条件をつけようとか、分岐しようとか
それをいろいろ試したり考えたりするといろんなことが出来るようになるので
そのほうが勉強になったりしますw

しかしある一定の大きさになった複雑なプログラムは
同じイベントを違うように使いたい。同じオブジェクトなんだけど
こういう時はこういう風に動いて、こういったときはまったく別の動きが
したい!とか出てくると思います。
そういった時にひとつのスクリプトのイベントのボックスの中で
すべてに条件の分岐を考えたりして
スクリプトを書くとすごく複雑になったり冗長になったりして
すごく読みにくいプログラムになってしまったりします。

そのときにはステートを変えてしまい
同じイベントでも違う動きに書いたりすることで
見やすいわかりやすいプログラムにすることが出来ます。

ですから最初のdefaultってなんだ?は
初期の状態はこの状態(default)で
そこからLSLのスクリプトは始まって
何かのイベントを待っている。
さあどんなことをさせてみようかな?
ということの宣言なのです。

今回のかんたん翻訳機では
ステートの遷移はしていません。
ただ最初にdefaultと書いてあるだけです。

ステートチェンジの使いどころとしては
1.同じイベントを使用したいのにぶつかる。
2.または必須のイベントを状態によっては
動作させる必要が無いので完全に無くしたい。

3.全く違う動作を期待してるので状態を変えたい。

このような条件の時でこのスクリプトの状態が変えられると
判断できる場合には一考したほうが良いと思います。

なので今回のかんたん翻訳機では
同じイベントもかぶらないし、必須のイベントをなくす必要もないし
違う動作なんてないし・・・と言うことで採用していません。

ただ説明として最初のdefaultってなんだろ?にお答えすると
ながーい説明になってしまいましたがw
ますステート(状態)というものがLSLではあって、そして
その中でトリガーをなることを待ち構えて待機してる。
というのがさらーとご理解いただければいいかなぁ?と思います。

次の例題でスクリプトを書くときは
しっかりステートチェンジのスクリプトを書いてみたいと思いますネ

さてお次は言葉ばっかり出てきて説明がまだのイベントについて
書いてみたいと思います:)



関連する投稿


セカンドライフ土地レンタルのSLingトップへ戻る

Leave a Reply


お知らせ
セカンドライフ
初期費用無料&友達紹介報酬! 『新しい仲間カマンキャンペーン』



Twitter
セカンドライフ
info
セカンドライフ
ホイッター



SLing周辺マップ
::マップページへ飛んでSL内にテレポート

SLing周辺マップ