2009-05-18 9 views
1

현재 컨테이너 MC 안에 여러 MC가있을 때 MC를 클릭하면 해당 MC를 처리 할 수 ​​있도록 메시지가 브로드 캐스팅됩니다. AS 3에서는 mc.addEventListener (MouseEvent.CLICK, obj)와 같이 간단합니다. 그러나 이것은 AS 2이므로 broadcastMessage ('myMessage')를 사용하도록 반 강제적입니다. 및 mc.addListener (obj); 이벤트 핸들러.여러 MC, 단일 수신기, AsBroadcaster

주요 문제는 브로드 캐스터가 어떤 메시지도 브로드 캐스팅하지 않는다는 것입니다.

두 번째 문제는 5 개의 MC가 있으며 그 중 하나를 클릭하면 클릭에 대한 5 개의 추적 메시지가 표시된다는 것입니다. 나는 그들이 속성 패널을 통해 모두 별도의 인스턴스 이름이 주어 지더라도 MC 클릭을 고유하게 유지하는 것처럼 보일 수 없다.

도움을 주시면 감사하겠습니다.

내 코드에 대한 링크는 here (pastie.org #481511)입니다. 틀린 것을 볼 수 있습니까?

답변

0

절반은 대답했습니다. 내가 this.broadcastMessage ('myMessage', this)로 변경 했으므로 broadcastMessage() 호출 전에 "this"가 누락되었습니다.

한 번에 동일한 브로드 캐스트 메시지를 모두 호출하는 하나의 무비 클립에 5 개의 다른 인스턴스 (즉, 라이브러리에서 5 번 드래그하여 다른 인스턴스 이름으로 드래그)를 사용하여 문제가 발생했습니다. 나는 다음과 같은 결과를 얻는다 :

Object: _level0.instance1.photo5 
Object: _level0.instance1.photo4 
Object: _level0.instance1.photo3 
Object: _level0.instance1.photo2 
Object: _level0.instance1.photo1
0

그것을 실증했다. hitTest() 메소드를 사용하여 클릭이 특정 동영상 클립 내에 있는지 확인해야하는 번거 로움.