2015-02-12 75 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