AS3 不会删除 EventListener #1009

AS3 won't remove EventListener #1009

Error: TypeError: Error #1009: Cannot access a property or method of a null object reference. at ball3gamehelp_fla::MainTimeline/hitTest()

我目前正在尝试做到这一点,当您接住 2 个球时,它会将您带回主页,但是,当我接住 2 个球时,它会加载主页并保持球阵列添加到舞台,尝试了多种方法来删除事件监听器

如果它达到某个像素,也尝试移除球,但它仍然有效

如果有人能帮助我,我将不胜感激

  1. 当球从舞台上移开时,尝试从阵列中移走球。

    function hitTest(evt:Event) :void
    {
        var length:int = bgame.length - 1;
    
        for ( var j:int = length; j >= 0 ; j--) 
        {
             if (bgame[j].hitTestPoint(Bmitt.x, Bmitt.y, true)) 
             {
                  trace("true");
                  removeChild(bgame[j]);
                  bgame.splice(j, 1);//remove from array
                  Score++;
                  Scoreinstance.text = String(Score);
             }
    
         }
    

    }

  2. 清除函数中的间隔

    clearInterval(interval);
    

您应该使用 removeEventListener。 例如 removeEventListener(SomeEvent, SomeHandlerName)