イベント

イベント

イベントってのはLSLを動かす上でかなり重要になる部分
どういったタイミングで処理を動かせばいいかってのがここで決まる

イベントはステートの中に書かれる
ステート{
    イベント名(引数){
        イベントが起きた時に実行される内容
    }
}
内容ってのは{}の中のことな

たとえばどっかのLSL解説ページでtouch_startイベントの説明を見てみると
タッチされた時に実行される
引数・・・タッチした人数
って説明が書いてあると思う

ここでの引数は値を渡される側の変数を書かないといけない
ユーザ関数で渡される引数みたいなもんだな

touch_start(integer n){
    llOwnerSay( "touch total:"+ (string)n );
}
このイベントだと
タッチされた時に自身にタッチした人数が表示される


LSLにはいくつかのイベントが用意されていて
そのイベントによって手に入る情報が違うため引数の数や型が違ってくる

書く人はどのイベント(動かすタイミング)でどういったアクションをさせるかを
考えて書かないといけない

幾つか例を挙げると
default{
    touch_start(integer n){
        llOwnerSay( "あああああ" );
    }
}
タッチした瞬間に「あああああ」と表示

default{
    collision(integer n){
        llOwnerSay( "あああああ" );
    }
}
何かがぶつかる度に「あああああ」と表示

default{
    state_entry(){
        llListen(0,"",NULL,KEY,"");
    }
    listen(integer a,string b,key c,string d){
        llOwnerSay( "あああああ" );
    }
}
近くで誰かが喋る度に「あああああ」と表示
※listenイベントを使うには、llListen関数を実行する必要がある

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2008年08月26日 02:23
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。