2010-06-12 44 views
0

我創建了三個圈子。如果一個圓圈被拖到舞臺的右側,它就變得不可見,反之亦然。當MOUSE_UP被調用時,它必須保持在最後的位置。我如何在舞臺功能中獲得MC?

所以在出現()函數如何分配選定的圓到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 2010-06-12 23:43:42

回答

1

我有點困惑。你在你的downFNK中分配current_mc,那麼在你的出現函數中它仍然應該被分配。

另外,您應該將其更改爲偵聽MouseEvent.MOUSE_MOVE,而不是偵聽Event.ENTER_FRAME。

+0

你是對的,我解決了它。我一週前剛開始學習flash,所以我還不知道一些有用的屬性。謝謝... – eblek 2010-06-13 13:30:01

+0

好的。祝好運與學習:) – Allan 2010-06-14 01:08:43