2014-01-06 38 views
0

我在AS3做游戏。错误#1063与removeEventListener

我在我的主类得到这个功能:

public function tire(e:MouseEvent):void{ 
       puzzle.removeListeners(); 
     } 

在我的益智类:

public function removeListeners():void{ 
     var cocoUn; 
     var cocoDeux; 
      var cocoTrois; 
      var cocoQuatre; 
     var cocoCinq; 
    for (var i in Engine.usableItems){ // Ditto 
      if (Engine.usableItems[i].displayName == "COCOUN") 
      cocoUn = Engine.usableItems[i]; 
      if (Engine.usableItems[i].displayName == "COCODEUX") 
      cocoDeux = Engine.usableItems[i]; 
      if (Engine.usableItems[i].displayName == "COCOTROIS") 
      cocoTrois = Engine.usableItems[i]; 
      if (Engine.usableItems[i].displayName == "COCOQUATRE") 
       cocoQuatre = Engine.usableItems[i]; 
      if (Engine.usableItems[i].displayName == "COCOCINQ") 
       cocoCinq = Engine.usableItems[i]; 
        } 

     cocoUn.removeEventListener(MouseEvent.CLICK, shoot, false, 0, true); 
     cocoDeux.removeEventListener(MouseEvent.CLICK, shootDeux, false, 0, true); 
    cocoTrois.removeEventListener(MouseEvent.CLICK, shootTrois, false, 0, true); 
    cocoQuatre.removeEventListener(MouseEvent.CLICK, shootQuatre, false, 0, true); 
    cocoCinq.removeEventListener(MouseEvent.CLICK, shootCinq, false, 0, true); 

     } 

我希望我的5项无法点击时的功能“轮胎”在我的主类中被调用。

我在调试模式下出现错误。 当我在舞台上点击时,出现此错误:Error #1063: Argument count mismatch on flash.events::EventDispatcher/removeEventListener(). Expected 2, got 5.

你知道我该如何纠正它吗?

非常感谢你,

回答

0

方法removeEventListener只有三个参数:

function removeEventListener(type:String,listener:Function,useCapture:Boolean = false):void 

应该足以ajdust通过以下方式代码:

cocoUn.removeEventListener(MouseEvent.CLICK, shoot); 
+0

伟大的作品!谢谢 !!! – user2421975