2007年12月21日 星期五

啥SL—【Event—Timer】


  所有跟時間有關的程式在這裡有,而這邊要提的只有timer這個Event。

  而要啟動這個Event,要使用
llSetTimerEvent(float sec)這個method,這個method一啟動,代表他每sec秒就會啟動一次timer()這個event,而當sec=0時,就會停止啟動。

  之前在介紹LSL架構時有提到timer這個event和其他event有不同的地方,在於state轉換後這個event會繼續啟動,因此建議在轉換state時可以在
state_exit裡寫下llSetTimerEvent(0);部分程式碼範例如下:
state_exit()
{
  llSetTimerEvent(0);
}
  state_exit意思就是在轉態轉移時他一定會先啟動state_exit內的程式再轉到下一個state。

  現在,展示一下Timer的使用範例:

default
{
touch_start(integer total_number)
{
llSetTimerEvent(1);
}

timer()
{
second++;

if(second==10)
{
llSay(0,"Good Bye!Master!");
llDie();
}

llSay(0,(string)(10-second));
}
}

  llDie意思就是讓該物消失,所以這程式碼會每秒啟動一次timer(),到了10秒時會消失。

沒有留言: