2012-06-28 3 views
0

무비 클립으로 페이드 인하는 ''포인트 '이상의 마우스를 사용하여지도 작업을하고 있습니다. 내가 겪고있는 문제는 부모 무비 클립에 포함 된 텍스트 자체가 마우스 위에있는 것입니다. 난 그 요점 자체가 아니라 마우스 이벤트를 활성화하기를 원한다. 필자는 웹 전체를 검색하여 mouseChildren = false와 같은 "솔루션"을 발견했습니다. 및 mouseEnabled = false; 작동하지 않습니다. 내가 잘못 코딩했는지 또는 무엇을 코딩했는지 나는 모른다. 어떤 도움을 주시면 감사하겠습니다. 다음은 내가 가지고있는 코드입니다.Movieclip의 마우스 이벤트 활성화 내용

clayton.buttonMode = true; 
clayton.addEventListener(MouseEvent.ROLL_OVER, over); 
clayton.addEventListener(MouseEvent.ROLL_OUT, out); 

function over(event:MouseEvent):void{ 
    clayton.gotoAndPlay("over"); 

} 

function out(event:MouseEvent):void{ 
    clayton.gotoAndPlay("out"); 
} 

부모 동영상 위에 마우스를 올리면 포함 된 텍스트가 올바르게 페이드 인됩니다. 부모 무비 클립 밖으로 마우스를 가져 가면 포함 된 텍스트가 올바르게 사라집니다. 그러나 부모 무비 클립에서 마우스 포인터를 올리거나 내린 후에 포함 된 텍스트는 부모 무비 클립 인 것처럼 동작하고 마우스 오버 애니메이션을 활성화합니다. 다음은 실제 문제를 보여주는 비디오입니다. 처음에지도의 중앙 영역 위로 마우스를 가져 가면 아무 일도 일어나지 않습니다. 그러나지도상의 지점 위로 마우스를 가져간 다음 중앙 영역이 애니메이션을 활성화합니다. 이 http://www.youtube.com/watch?v=OC2vVjMQTH4

답변

0

비디오 도움 :

여기 내 문제의 비디오 예입니다!

초기 마우스 오버시 나타나는 정보 상자가 페이드 아웃 후에도로드되어 있으므로 보이지 않더라도 (여전히 페이드 아웃 됨) 여전히 계속 트리거되어 있습니다 너의 전복.

여러 가지 방법으로 해결할 수 있습니다. 가장 빠르지 만 (sloppiest), 'out'애니메이션이 끝나기 전에 빈 프레임을 추가하는 것입니다.

롤오버 수신기를 포인트 객체 자체에 첨부하는 것이 더 좋습니다. (당신은 부모 'clayton'에 roll_out을 남길 수 있습니다).

+0

추가 도움이 필요하면 타임 라인을보아야합니다. – BadFeelingAboutThis

+0

그 작품! 나는 흥미 롭다. roll_over 리스너를 애니메이션을 '중단하다'는 텍스트 상자에 붙이지 않을까? 메인 스테이지의 객체에 더 이상 roll_over 리스너가없는 경우 애니메이션 시작 방법을 어떻게 알 수 있습니까? – niemeyerja

+0

infobox를 서클 마커에서 분리하고 (두 개의 독립된 객체로 만들어야 함) 마커를 애니메이션이 적용되지 않은 별도의 레이어에 배치해야합니다. – BadFeelingAboutThis