2012-12-15 2 views
0

as3을 (를) 처음으로 사용하고 있습니다. 사각형을 만들어 심볼로 변환합니다. 그런 다음 상징에 들어가서 두 개의 슬라이더를 만듭니다. 또한 나는 기호를 드래그 할 수있게 만든다.플래시 액션 스크립트 3 : 무비 클립 문제 끌기

controlPanel_mc.addEventListener(MouseEvent.MOUSE_DOWN, dragStartF); 
controlPanel_mc.addEventListener(MouseEvent.MOUSE_UP, dragEndF); 

function dragStartF(e:MouseEvent){ 
    e.currentTarget.startDrag(); 
} 
function dragEndF(e:MouseEvent){ 
     e.currentTarget.stopDrag(); 
} 

잘 작동하지만 슬라이더를 사용할 수 없습니다. 슬라이더를 드래그하면 전체 무비 클립이 이동합니다. 이 문제를 어떻게 해결할 수 있습니까? 건배!

답변

0

FLA 파일의 구조에 대한 정보가 없으면 controlPanel_mc는 사각형 [배경]과 두 개의 슬라이더가 들어있는 컨테이너라고 가정합니다.

코드에서 보았던 것처럼 이벤트 수신기를 컨테이너에 추가하는 것이 었습니다. 즉, "이 개체의 어느 곳에서나 클릭이 발생하면 다음을 수행하십시오"라는 것을 의미합니다. 그 클립이 2 개의 슬라이더를 "소유"하기 때문에 슬라이더는 MOUSE_DOWN 이벤트를 얻지 못합니다. 부모는 항상 이벤트를 먼저 처리하기 때문입니다.

아마도 배경을 심볼로 변환하고 대신 해당 객체에 eventListeners를 추가하려고합니다. 문제 :

를 해결해야

bg.addEventListener(MouseEvent.MOUSE_DOWN, onBgClick); 
bg.addEventListener(MouseEvent.MOUSE_UP, onBgRelease); 

function onBgClick(e:MouseEvent){ 
    controlPanel_mc.startDrag(); 
} 
function onBgRelease(e:MouseEvent){ 
    controlPanel_mc.stopDrag(); 
} 

관련 문제