Changed/ko

From Second Life Wiki
< Changed
Revision as of 03:10, 7 July 2011 by Dal Ghost (talk | contribs) (Created page with "{{LSL_Event/ko|event_id=30 |event_delay |event=changed |p1_type=integer |p1_name=change |p1_desc=CHANGE_* 플래그 {{LSLG/ko|bit field|비트 필드}} |event_footnote=여러 …")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

설명

이벤트: 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의 관련항목이 도움을 줄 수 있을 지도 모릅니다.