LlSetTimerEvent/ko

From Second Life Wiki
Jump to navigation Jump to search

설명

함수: llSetTimerEvent( float sec );
107 함수ID
0.0 지연
10.0 에너지

sec초마다 한 번 timer 사건을 실행시킨다. 다음 번 timer를 실행할 때는 0.0초의 정지 시간을 거친다.

• float sec 영이 아닌 모든 양수 값으로 실행되며, 영(0.0)을 넣으면 실행이 중지된다.

주의

  • timer가 일어나는 사이의 시간 간격이 지정한 만큼 보다 더 늘어날 수 있는데, 그 때의 가능한 원인은 다음과 같다:
    • 시간 지연 - 더 많은 정보는 llGetRegionTimeDilation를 참고.
    • 사건 지연 기본값 - 일정한 수의 event들만이 매 초마다 수행될 수 있다.
    • 실행 자체가 느린 경우 - 작성된 event의 (알고리즘 등의 이유로) 실행이 느린 경우.
  • timer 사건은 상태(state)의 변화와 관계없이 지속되며 스크립트가 초기화 될 때 사라진다.

예제

<lsl>float gap = 2.0; integer counter = 0;

default {

   state_entry()
   {
       // Activate the timer listener every 2 seconds
       llSetTimerEvent(gap);
       llResetTime();
   }
   touch_start(integer total_number)
   {
       llSay(0, "The timer stops.");
       llSetTimerEvent(0);
       counter = 0;
   }
   timer()
   {
       ++counter; 
       llSay(0, (string)counter+" ticks have passed in " + (string)llGetTime() + 
         " script seconds.\nEstimated elapsed time: " + (string)(counter * gap));
   }

}</lsl>

함께 보기

사건

•  timer

함수

•  llSensorRepeat
•  llGetRegionTimeDilation
•  llGetTime
이 글이 유용하지 않으세요? LSL Wiki의 관련항목이 도움을 줄 수 있을 지도 모릅니다.