ソラマメブログ

2007年06月28日

第6回 超初心者用スクリプト講座 ステートエントリー?

こんばんは。ペンです。
昨晩は友人のTさんとQooというSIMにある海賊カフェに行ってきました。
ここは前に観光ブログ担当のジャスミンさんと偶然発見した場所。
いいとこだったので、Tさんを連れて行った次第ですw
(ちなみにこのSIMは居住地区で、観光SIMではありません。)

海賊カフェも仕掛けがいっぱいあって楽しいのですが
それ以上に私たちの心を掴んで離さなかったのがここ!!

第6回 超初心者用スクリプト講座 ステートエントリー?

下水道w
もうリアルすぎですwたまりませんw
二人して、
「すごい落ち着くわ~」
って感心しきってましたw

######################################

それではスクリプト講座に移っていきましょう~
今回は前回の復習もかねてスクリプトを
新規で生成したときにできるNew Scriptを使って講座をすすめたい
と思います。

まず、今回のメインは何かと言うと
お題のとおりstate_entryについてです。

state_entry(){

}



これですね。

この講座を読んでいる人なら、毎回目にしてきたこの単語。
おまじないとか言って全く説明してきませんでしたw
面倒だったわけじゃないですよw
簡単のためですw

しかしながら、前回にtouch_startっていうのがでてきました。
内容は、オブジェクトがタッチされたかどうかを判断して
touch_start内のスクリプトを実行するというものでした。

では、このstate_entryっていつ実行されるのでしょうか?

はい、答えは簡単。スクリプトが生成、またはリセットされたときです。

じゃあここで、おなじみのスクリプトに登場してもらいましょう。

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

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



今、state_entryには
llSay(0, "Hello, Avator!")

っていうコマンドが含まれています。このコマンドは
チャンネル0番でオブジェクトが
Hello, Avator!
って叫ぶというものです。

チャンネル0番は通常のチャットを表しています。普段会話で
使っているのはチャンネルの0番ということになりますね。
今は0のままでいいです。
また、叫ぶ内容はHello, Avataor!の部分を何かに変えればいいです。

いつstate_entryが実行されるかという話にもどりますが、
この場合だと、上記のとおりスクリプトが生成、またはリセットされたときにだけHello, Avator!って叫ぶよってことになります。

補足ですが Touched. はオブジェクトが触れられたときに
チャットをとおして叫びます。
(タッチイベントに関しては第5回講座を参照のこと)

ここで大事なのはstate_entry内が実行されるのはあくまでも
スクリプトが生成、またはリセットされたときだけということ
です。(ちなみにセーブした場合は自動的にリセットされます)

さて、ここで問題です。
オブジェクトを作って新しいボタンを押し、
上記のスクリプトを組み込みました。
次に、作ったオブジェクトをtakeし、さらにtakeしたオブジェクトを
もういちど出します。
この出したときにstate_entry内のコマンドは実行されるでしょうか?

答えはされません。この場合だと、Hello,Avator!!とは
言わないということです。
これはtakeしてもスクリプトはリセットされないためです。

では、どうすればオブジェクトを在庫目録から出すたびに
実行されるようなスクリプトを作ることができるのでしょう?

というのが次回のテーマですw
それでは御機嫌よう



同じカテゴリー(超初心者用 スクリプト講座)の記事画像
第10回 スクリプト講座 ポーズボールを作ろう(2)
第10回 スクリプト講座 ポーズボールを作ろう(1)
初心者用 スクリプト講座 再開します
第9回 超初心者用スクリプト講座 タイマーを使おう
第8回 超初心者用スクリプト講座 stateを使おう
第5回 超初心者用スクリプト講座 タッチイベントを使おう
同じカテゴリー(超初心者用 スクリプト講座)の記事
 第10回 スクリプト講座 ポーズボールを作ろう(2) (2008-03-21 01:20)
 第10回 スクリプト講座 ポーズボールを作ろう(1) (2008-03-15 04:26)
 初心者用 スクリプト講座 再開します (2008-03-11 14:08)
 第9回 超初心者用スクリプト講座 タイマーを使おう (2007-07-05 22:25)
 第8回 超初心者用スクリプト講座 stateを使おう (2007-07-03 15:23)
 第7回 超初心者用スクリプト講座 出したら実行する (2007-06-30 16:22)

 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。