ソラマメブログ

2008年02月09日

walking のスクリプティング講座(その13)

間違ったままというのも気持ちが悪いので ハンドラを用いるように修正したリストも出しておくことにするお w
...

integer cur_target_link;
integer handle;

...

ハンドラ handle は integer で宣言するらしい...
default
{
state_entry()
{
sequence = sequence1;
num_of_sequence = llGetListLength(sequence) / num_of_record;
cur_seq_num = 0;
stop_fountain();
llSetTimerEvent(1.0);
}
touch(integer total_number)
{
handle = llListen(123, "", llDetectedKey(0), "");
llDialog(llDetectedKey(0), "Select pattern", pattern_list, 123);
}
listen(integer channel, string name, key id, string message) {

...

// if (sequence != prev_sequence) {
num_of_sequence = llGetListLength(sequence) / num_of_record;
cur_seq_num = 0;
stop_fountain();
llSetTimerEvent(1.0);
// llOwnerSay(message + " is selected");
// prev_sequence = sequence;
// }

llListenRemove(handle);
}

...

で タッチされた時に起動される touch で llListen(123, "", llDetectedKey(0), "") で チャネル 123 を listen するようにし

ダイアログの結果を処理する listen で llListenRemove(handle) でハンドラを削除する

でいいかな w

タグ :スクリプト

同じカテゴリー(walking のスクリプティング講座)の記事
 プロフィール写真の表示に問題 (2009-11-30 20:55)
 ミニ太陽系 (2009-03-21 06:03)
 関数から文字列を返したら何か問題になる? (2009-03-18 18:02)
 llListFindList って型って関係ないんだったっけ (2009-03-18 14:02)
 夏時間(PDT)の実験 (2009-03-08 22:04)
 15パズルの作り方(その3) (2009-03-08 06:03)
上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。