2015-02-12 164 views
1

我已經做了一個內容,在一幀我有10個影片剪輯(5色對)等分爲兩列。我已經添加了三個事件監聽器的舞臺mousedown,mouseup,鼠標移動。我從一個movieclip畫線到另一個匹配一個列影片剪輯到另一個列相同的影片剪輯..我添加了代碼時間軸,但當我去下一幀或前一幀(有另一個acitvities)使用next/prev按鈕出現警告:eventlistener函數並沒有停止工作

無法訪問空對象引用的屬性或方法。 ()mouseup()我沒有顯示mousedown()mouseup()我已經使用了相同的下一個和相同的前一個按鈕的3個frames.and幀跳轉我編號的每幀作爲幀1號,2,3.if frameno == 3轉到框2如果frameno == 2轉到幀1因此works..frame跳躍代碼是在第一幀..

這是我的代碼:

stage.addEventListener(MouseEvent.MOUSE_DOWN, mDown);  
stage.addEventListener(MouseEvent.MOUSE_UP, mUp);  
stage.addEventListener(MouseEvent.MOUSE_MOVE, mMove); 

function mDown(event:MouseEvent):void 
{ 
    mouseHolding = true;  
    clickedX = mouseX;  
    clickedY = mouseY;  
    myDrawing.graphics.moveTo(mouseX, mouseY); 
    Line_draw.graphics.moveTo(mouseX, mouseY); 

    if (pencil.hitTestObject(box1)) //box of 1st column 
    {     
     trace("box1 value is: "+chk_val_1); 
    } 
} 

function mUp(MouseEvent):void 
{ 
    myDrawing.graphics.lineTo(mouseX, mouseY); 
    mouseHolding = false; 

    if (pencil.hitTestObject(hit_box1)) ////box of 2nd column 
    { 
     trace(boxes have same color); 
     Line_draw.graphics.lineTo(mouseX, mouseY); 
    } 
} 

function mMove(MouseEvent):void 
{ 
    if (mouseHolding && mouseY < 510)  
    {  
     clearTemp();  
     Line_draw.graphics.lineTo(mouseX, mouseY);  
    } 
} 

function clearTemp():void 
{ 
    Line_draw.graphics.clear(); 
    Line_draw.graphics.lineStyle(6,0x0066CC,1); 
    Line_draw.graphics.moveTo(clickedX, clickedY); 
} 

function nxt_click(event:MouseEvent) 
{ 
    gotoAndPlay(3);  
} 
function prev_click(event:MouseEvent) 
{ 
    gotoAndPlay(1);  
} 

我的代碼工作完美,但我想知道爲什麼這個警告會一次又一次地來臨?

+0

你能分享你的項目(.FLA)嗎? – akmozo 2015-02-12 05:58:33

+0

我是新的。請你分享我如何上傳我的fla文件嗎?我找不到任何選項 – USERRR5 2015-02-12 06:13:44

+0

您可以嘗試filedropper.com(沒有創建帳戶),mediafire.com,dropbox.com ... – akmozo 2015-02-12 06:26:05

回答

1

您需要繪製箭頭(行)只是在你的「anim4」框架,使這個框架外,必須禁用此功能,並刪除該創建的所有舞臺監聽,所以你可以這樣做:

function nxt_click(event:MouseEvent) 
{ 
    if(){ 
     // your other instructions 
    } 
    // your other instructions 

    else if (my_frame == 4) 
    { 
     stage.removeEventListener(MouseEvent.MOUSE_DOWN, mDown); 
     stage.removeEventListener(MouseEvent.MOUSE_UP, mUp); 
     stage.removeEventListener(MouseEvent.MOUSE_MOVE, mMove); 
     gotoAndPlay("anim5");  
    } 
} 

你應該通過按下上一個按鈕退出「anim4」框架時做同樣的事情。

希望能有所幫助。

+0

thankuu這麼多先生它現在的工作... – USERRR5 2015-02-12 07:52:43