Changed/ko

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

설명

이벤트: changed( integer change ){ ; }

오브젝트 프림에 다양한 변화가 발생하면이 이벤트가 발생합니다.

• integer change CHANGE_* 플래그 비트 필드

여러 변화가 하나의 이벤트로 나타나 올 수도 있습니다. 따라서 비트 연산을 사용합시다.

Template:LSL Constants Changed/ko

경고

changed 이벤트에서 state 을 떠나는 경우, state 을 변경하기 직전을 추가로 변경을하고 있다고이 state 에 돌아왔다 때 changed 이벤트가 발생하게됩니다. <lsl>default {

   changed(integer change)
   {
       if(change & CHANGED_LINK)
       {
           integer links = 0;
           if(llGetObjectPrimCount(llGetKey()) < (links = llGetNumberOfPrims()))
           {
               llUnSit(llGetLinkKey(links));
               state whatever;
           }
           else
           llOwnerSay("연결 또는 연결 해제 우산했지만, 위에는 아무도 앉아 있지 않습니다.);
           // default 상태로 돌아온 후이 채팅됩니다.
       }
   }

} state whatever {

   state_entry()
   {
       llSetTimerEvent(10.0);
   }
   timer()
   {
       state default;
   }

}</lsl>

샘플

<lsl>default {

   changed(integer change)
   {
       // & 입니다. && 는 없습니다 ... 비트 연산자입니다!
       if (change & CHANGED_INVENTORY)         
       {
           llOwnerSay("인벤토리가 변경되었습니다.");
       }
       if (change & CHANGED_COLOR) 
       {
           llOwnerSay("색상 투명도가 변경되었습니다.");
       }
       if (change & CHANGED_SHAPE) 
       {
           llOwnerSay("프림 모양이 변경되었습니다.");
       }
       if (change & CHANGED_SCALE) 
       {
           llOwnerSay("프림의 크기가 변경되었습니다.");
       }
       if (change & CHANGED_TEXTURE) 
       {
           llOwnerSay("프림 텍스처 또는 텍스처의 속성이 변경되었습니다.");
       }
       if (change & CHANGED_LINK) 
       {
           llOwnerSay("연결되어있는 프림의 수가 변경되었습니다.");
       }
       if (change & CHANGED_ALLOWED_DROP) 
       {
           llOwnerSay("인벤토리 편집 권한이없는 사용자가 변경되었습니다 "+
                      "프림 항목이 떨어진 스크립트는 그것을 허용했습니다.");
       }
       if (change & CHANGED_OWNER) 
       {
           llOwnerSay("개체의 소유자가 변경되었습니다.");
       }
       if (change & CHANGED_REGION) 
       {
           llOwnerSay("개체가있는 지역이 변경되었습니다.");
       }
       if (change & CHANGED_TELEPORT) 
       {
           llOwnerSay("객체가 장착된 상태 텔레 포트했습니다.");
       }
       if (change & CHANGED_REGION_START) 
       {
           llOwnerSay("지역이 지금 다시 시작되었습니다.");
       }
   }

}</lsl>여러 변경 같은 작업을 부를 때 위해 다음 구문을 사용하면 좋습니다.<lsl>default {

   changed(integer change)
   {
       if(change & (CHANGED_OWNER

주의 사항

llGetOwner 에 " (change & CHANGED_OWNER) " 완전한 고려 사항이 실려 있습니다.

이 번역 원문 읽기가 어렵습니까? 수정 하고 갑시다! (절차는 여기)
이 글이 유용하지 않으세요? LSL Wiki의 관련항목이 도움을 줄 수 있을 지도 모릅니다.