所有跟時間有關的程式在這裡有,而這邊要提的只有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()
state_exit意思就是在轉態轉移時他一定會先啟動state_exit內的程式再轉到下一個state。{
llSetTimerEvent(0);
}
現在,展示一下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秒時會消失。
沒有留言:
張貼留言