2013-05-02 80 views
0

我该如何解决参数子必须是非空的错误?
我试图删除具有.y <= 56几个条件后删除实例

代码如下实例(BOX1,BOX2,BOX3,box4):

for (i=1; i<=4; i++) 
{ 
    this["Box" + i].addEventListener(Event.ENTER_FRAME, Move); 
} 

function Move(e:Event):void 
{ 
    e.target.y -= 6; 
    if (e.target.y <= 56) 
    { 
     removeChild(getChildByName(e.target.name)); 
     Comment.text = "MISS"; 
     miss += 1; 
     score += 0; 
    } 
} 

回答

1

好像听众继续火箱被删除后,所以这行之前:

removeChild(getChildByName(e.target.name)); 

加入这一行:

MovieClip(e.target).removeEventListener(Event.ENTER_FRAME, Move); 
+0

问题解决了这个,但同样的问题发生在我的鼠标事件点击机智h类似这样的代码:if((event.target.hitTestObject(bts1))&&(event.target.hitTestObject(bts2))&&(event.target.hitTestObject(bts3))&&(event.target.hitTestObject(bts4) )) \t { \t \t removeChild(getChildByName(event.target.name)); \t \t Comment.text =“PERFECT”; \t \t perfect + = 1; \t \t得分+ = 10000; \t} – 2013-05-02 10:39:31

+0

所以试试这个:'MovieClip(e.target).removeEventListener(MouseEvent.CLICK,yourClickMouseListener);' – Cherniv 2013-05-02 10:42:36

+0

如果你用一个完整的代码来启动一个新的问题会更好吗? – Cherniv 2013-05-02 11:01:51

1

AS是区分大小写(的语言,如99%)。 (Box)或全小写(box)?

+0

我不好打字哈哈哈它的盒子 – 2013-05-02 10:38:40

1

如果盒子是影片剪辑(或扩展的MovieClip):

var currentBox:MovieClip = MovieClip(e.target); 
currentBox.y -= 6;  
if (currentBox.y <= 56) { 
    currentBox.removeEventListener(Event.ENTER_FRAME, Move); 
    removeChild(currentBox); 
    Comment.text = "MISS"; 
    miss += 1; 
    score += 0; 
} 
+0

在你的答案中,你不仅给答案,而且还做一些小的重构:) – Cherniv 2013-05-02 09:45:02