Actionscript 3 从一个场景转到下一个场景并获取Type1009空对象引用错误

Actionscript 3 从一个场景转到下一个场景并获取Type1009空对象引用错误,actionscript-3,flash,flash-cs6,Actionscript 3,Flash,Flash Cs6,好的,在我的游戏主菜单中,我有一个发光效果,当你将鼠标悬停在不可见的按钮“startdesu”上时,脚本会使整个菜单发光,淡入淡出。此代码(从事件侦听器开始)已针对菜单上的每个按钮重复,并对按钮实例名称和函数名称进行了相应更改。唯一的问题是,当我单击“startdesu”并转到下一个场景时,我开始出现重复错误,“TypeError:Error#1009:无法访问空对象引用的属性或方法。 在佛罗里达州bjvb_::main timeline/increaseGlow()。我尝试过在按钮被点击时删除

好的,在我的游戏主菜单中,我有一个发光效果,当你将鼠标悬停在不可见的按钮“startdesu”上时,脚本会使整个菜单发光,淡入淡出。此代码(从事件侦听器开始)已针对菜单上的每个按钮重复,并对按钮实例名称和函数名称进行了相应更改。唯一的问题是,当我单击“startdesu”并转到下一个场景时,我开始出现重复错误,“TypeError:Error#1009:无法访问空对象引用的属性或方法。 在佛罗里达州bjvb_::main timeline/increaseGlow()。我尝试过在按钮被点击时删除辉光事件侦听器,但没有成功。请帮忙;0;

为了简洁起见,这里是基本的代码,但是如果有帮助的话,我可以发布整个代码。 (另外,当我从游戏返回开始菜单时,我会得到与其他内容相同的空错误

import flash.filters.*;
import flash.events.Event;

stop();
wow.alpha=0.5;

var menuGlow:GlowFilter = new GlowFilter();

menuGlow.color = 0xffffff;

menuGlow.blurX = 20;

menuGlow.blurY = 20;

menuGlow.alpha = 0;

menu.filters = [menuGlow];

var glow:Boolean = false;


startdesu.addEventListener(MouseEvent.MOUSE_OVER, addGlow);
startdesu.addEventListener(MouseEvent.MOUSE_OUT, removeGlow);
startdesu.addEventListener(Event.ENTER_FRAME, increaseGlow);

function addGlow(e:MouseEvent):void
{
glow = true;
}

function removeGlow(e:MouseEvent):void
{
glow = false;    
}

function increaseGlow(e:Event):void
{
if(glow == true)
{

    menuGlow.alpha = menuGlow.alpha + 0.02;
}
else if(glow == false)
{
    menuGlow.alpha = menuGlow.alpha - 0.02;
}
menu.filters = [menuGlow];
}

这是可能导致错误的行:

menu.filters = [menuGlow];
第二个场景中可能没有实例名为“menu”的对象。您可以通过添加对象是否存在的检查来修复此错误,如下所示:

function increaseGlow(e:Event):void
{
    //if there's no menu object, return
    if(!menu) return;

    if(glow == true) {
        menuGlow.alpha = menuGlow.alpha + 0.02;
    } else {
        menuGlow.alpha = menuGlow.alpha - 0.02;
    }
    menu.filters = [menuGlow];
}
但正确的解决方案是删除事件侦听器。不确定为什么它对您不起作用,但您应该能够在切换场景之前将其添加到单击事件处理程序中

startdesu.removeEventListener(Event.ENTER_FRAME, increaseGlow);

尝试删除事件侦听器时会出现哪些错误?

不用担心,您的increaseGlow函数似乎有所帮助!非常感谢