はい、どうもあずらんです。
引き続きスクリプトのお話しだよ!
今回は【touch_start(integer total_number)】についてお話ししていきます。
スクリプトでいう【】の部分ですね。
------------------------------------------
default
{
state_entry()
{
llSay(0, "Hello, Avatar!");
}
【touch_start(integer total_number)】
{
llSay(0, "私は日本人です");
}
}
------------------------------------------
【touch_start(integer total_number)】
これは文字通り、(プリムを)タッチした時に実行されるイベント(処理)です。
今はプリムをタッチすると周辺チャットで「私は日本人です」と喋るようになってますね。
【touch_star】の後ろの()の中に【integer total_number】という
何やら長い呪文が入っていますが・・・
正直これが何なのかよく知りませんw
wikiによるとアバターの数か何かを検出してるとか・・・正直そんなのどうでもいい!w
動けば良かろうなのだー。
ということで、【touch_start(integer total_number)】は()の中に【integer total_number】
を書く。そうゆう決まりとでも覚えておいてくださいw
さて、前回からの記事で書けるようなったのは・・・
------------------------------------------
default
state_entry()
touch_start(integer total_number)
------------------------------------------
え?これで保存するとエラーが出る?
はい、まだこれではエラーが出ますね。
その理由は1つのイベントがどこからどこまでなのか、範囲が指定されていないから
というのが理由ですね。
イベントの範囲を指定するには{}を使います。
そして、【default】イベントの中に他のイベントを書く!
これはスクリプトの決まり事です(例外もありますが基本はこれです。)
なので下記のようになります。
------------------------------------------
default
{
state_entry()
{
}
touch_start(integer total_number)
{
}
}
------------------------------------------
ただ行ごとの頭が一緒だと長文になるにつれて、イベント毎の最初のカッコと
イベント毎の終わりのカッコがどれなのかわからなくなってしまいます・・・
そこで、イベントの中に{}が追加される度【半角スペース4つ分改行します。】
するとこのように
------------------------------------------
default
{
state_entry()
{
}
touch_start(integer total_number)
{
}
}
------------------------------------------
見やすくなりましたね。
そして今まで黙っていましたが・・・
スクリプトは基本的に2バイト文字(全角文字&全角スペース)を使用すると
エラーになります。
つまり使えません!
""や//や/* */の特定の部分では使えますが、処理を書くうえでは基本的に使えないと
思ってください。
では次回はプリムをタッチして喋らせる事に挑戦したいと思います。