イベントとは
セカンドライフでの「スクリプト」は、それ単体では動作しない。
アバターにインベントリがあるように、オブジェクトにもインベントリがある。
スクリプトを、オブジェクトのインベントリに格納することにより、
オブジェクトに対する何かしらの「刺激」によってスクリプトが呼び出され、動作するようになっている。
スクリプトが検知できる「刺激」の1つ1つをイベントと呼んでいる。(と思う)
セカンドライフのスクリプトが検知できる「刺激」つまりイベントは以下の9つ。
イベント一覧
イベント名 | トリガーになる動作 | 主な用途例 |
---|---|---|
state_entry() |
起動・状態が切り替わった(※) | 初期化処理、初期メッセージなど |
touch_start(integer) |
オブジェクトがクリックされた | クリックで反応、メニュー表示など |
listen(integer, string, key, string) |
ローカルチャットを受け取った | チャットでの命令受け取り |
sensor(integer) |
センサーでアバターを検出した | アバター検出、近接イベント |
timer() |
一定時間ごと ( llSetTimerEvent で設定) |
繰り返し処理、アニメ、監視など |
collision(integer) |
衝突検知 | 衝突判定、バウンドなど |
link_message(integer, integer, string, key) |
他のリンクされたプリムからメッセージ受信 | スクリプト間通信、連携処理 |
changed(integer) |
オブジェクトの状態が変わった(持ち主変更など) | 所有者変更、装着検知など |
attach(key) |
アバターに装着・取り外し | 装着時の処理、HUDなど |
補足
- イベントは、一般的なスクリプトでいう「メソッド」の形をしているが、これをスクリプト内で自発的に呼び出すことはできない。
飽くまでもイベント発生時にシステムが自動的に呼び出すもの、という位置づけ。 - 各イベントはすべて使用する必要がない。必要なものだけ使えばOK。