2010-06-12 3 views
0

나는 세 개의 원을 만듭니다. 원이 스테이지의 오른쪽으로 드래그되면 보이지 않게되고 그 반대도 마찬가지입니다. MOUSE_UP가 불려 갔을 때는, 그 마지막 위치에 머물러있을 필요가있다.스테이지 기능에서 MC를 얻으려면 어떻게해야합니까?

그래서 appear() 함수에서 current_mc에 선택된 원을 어떻게 할당 할 수 있습니까?

function createCircles(evt:Event):void 
{  
    for(i=0; i<3; i++) 
    { 
    var figure:Sprite=new Sprite();    
    figure.circle.x=10; 
    figure.circle.y=i*figure.circle.height*1.02; 
    figure.circle.buttonMode=true; 
    figure.circle.addEventListener(MouseEvent.MOUSE_DOWN,downFNC); 
    addChild(figure.circle); 
    } 
} 
function downFNK(evt:MouseEvent):void{ 
    current_mc=MovieClip(evt.target); 
    current_mc.x=mouseX; 
    current_mc.y=mouseY; 
    stage.addEventListener(Event.ENTER_FRAME,appear); 
} 

function appear (evt:Event):void 
{ 
    current_mc=??? 
    current_mc.x=mouseX; 
    current_mc.y=mouseY; 
    if(mouseX > stage.width/2) 
     current_mc.visible=false;    
    else 
     current_mc.visible=true; 
    stage.addEventListener(MouseEvent.MOUSE_UP, upFNC); 
} 
function upFNC(evt:MouseEvent):void 
{ 
    stage.removeEventListener(Event.ENTER_FRAME, appear); 
} 
+1

downFNC와 downFNK가 같지 않다는 것을 알 수 있습니다. – phwd

답변

1

다소 혼란 스럽습니다. 당신은 downFNK에 current_mc를 할당합니다. 그래서 당신의 나타나는 기능에 할당되어야합니다.

또한 Event.ENTER_FRAME을 수신하는 대신 MouseEvent.MOUSE_MOVE를 수신하도록 변경해야합니다.

+0

네 말이 맞아. 내가 해결 했어. 나는 일주일 전에 플래시 학습을 시작 했으므로 아직 유용한 속성을 모른다. 감사합니다 ... – eblek

+0

ok. 행운을 빈다. :) – Allan

관련 문제