-
연결된 프림 오브젝트간 대화(통신)-llMessageLinked()웹프로그래밍/LSL(세컨드라이프) 2015. 8. 5. 00:11반응형
연결된 오브젝트끼리의 대화 통신
제가 만들고 있는 “바람칼” 이라는 아이템은 두개의 오브젝트가 연결되어 있습니다.
칼 전체모양의 오브젝트 하나와
칼고리 안의 구슬 오브젝트.앞으로 스크립트가 계속 추가되면서 복잡해질 것 이기에
“기본적인 스크립트”와 “특수한 스크립트”를 따로 관리하기 위해 오브젝트를 나누어 스크립트와 애니메이션 등을 따로 넣어두고 관리하기 위함 입니다.처음 “바람칼”을 착용하면 발생되는 기본 서기 애니메이션과 기가 모이는 파티클, 그리고 명령어를 듣고 처리하는 주 스크립트가 칼 오브젝트에 들어있고
명령어를 전달받아 “기술 애니메이션” 등의 처리는 구슬 오브젝트에서 받아서 실행하도록 하고 있습니다.이때 연결된 오브젝트(프림)간에 대화(통신)의 기능을 사용합니다.
llMessageLinked(); //링크된 오브젝트에 메세지 전달
link_message(){} //링크된 오브젝트에서 들어온 메세지 처리이전 포스팅에서 소개한 “llListen()” 으로도 가능하긴 하지만
llListen() 은 통합적인 대화 채널을 사용하고
llMessageLinked() 는 해당 오브젝트 자체적인 통신을 합니다.
(외부의 간섭을 받지않음, 리소스를 적게 사용함…)
필요에 따라 선택하시면 됩니다.llMessageLinked()
llMessageLinked( integer link, integer num, string str, key id );
- link: 연결된 프림유형(프림유형:http://wiki.secondlife.com/wiki/LlMessageLinked)
- num: 전달할 숫자값
- str: 전달할 메세지
- key: 전달할 키값
예제
모(母)오브젝트 에서 모든 자(子)오브젝트로 메세지 전달.
모 오브젝트 스크립트에 추가
llMessageLinked(LINK_ALL_CHILDREN, 0, “하하하”, “”);자 오브젝트에서 메세지 받아 처리.
자 오브젝트 스크립트에 추가
link_message(integer sender_num, integer num, string msg, key id)
{
llSay(0, msg); //전달받은 메세지 내용을 일반 대화채널로 말함.
}반응형'웹프로그래밍 > LSL(세컨드라이프)' 카테고리의 다른 글
이전버전의 .blend 파일을 열때 텍스쳐가 보이지 않는 경우 (0) 2021.04.28 최근의 오픈심(오픈시뮬레이터)의 설치 방법(0.8.1 버전부터) (0) 2015.10.28 주변의 오브젝트, 아바타 등 사물을 검색하는 스크립트 - llSensor (0) 2015.08.04 프림(오브젝트)과 대화하기 - llListen (0) 2015.08.03 애니메이션 만들기 와 업로드 기본 (0) 2015.08.02