Android Flash游戏-返回主菜单

Android Flash游戏-返回主菜单,android,ios,actionscript-3,flash,Android,Ios,Actionscript 3,Flash,我正在做一个flash游戏,差不多完成了,但我遇到了一个问题。当游戏结束,或者用户按下“结束游戏”按钮时,我想将它们返回主菜单。游戏设置为主菜单位于第3帧,游戏在第4帧运行。所有的游戏代码都在那里 我试过几件事: 我只是想回到第三帧。这将导致以下错误: TypeError: Error #1009: Cannot access a property or method of a null object reference. at Hundred_fla::MainTimeline/Got

我正在做一个flash游戏,差不多完成了,但我遇到了一个问题。当游戏结束,或者用户按下“结束游戏”按钮时,我想将它们返回主菜单。游戏设置为主菜单位于第3帧,游戏在第4帧运行。所有的游戏代码都在那里

我试过几件事: 我只是想回到第三帧。这将导致以下错误:

TypeError: Error #1009: Cannot access a property or method of a null object reference.
    at Hundred_fla::MainTimeline/GotoEndGame()[Hundred_fla.MainTimeline::frame5:66]
我已经尝试将所有游戏变量返回到它们的默认值,删除所有子项。。。等等。。。我也得到了完全相同的错误。。。不知道问题出在哪里。我以为一个解决方案是重新加载电影,但这将在Android/IOS上运行,我无法刷新网页。。。任何帮助都将不胜感激。谢谢

编辑:第66行的代码为:

while(stage.numChildren > 0){
    stage.removeChildAt(stage.numChildren-1);
}

根据第五帧第66行的内容,可能会出现以下情况:

  • 您的目标是FlashPlayer9,其中显示对象异步加载到您的gotoAndStop调用,因此您最终会得到空引用。解决方案是以Flash Player 10或11为目标(在发布设置[Ctrl+Shift+F12]中更改它)。如果你真的需要瞄准Flash Player 9,有

  • gotoAndStop
    之后,您正在引用第5帧中不再可用的对象,因此抛出空对象引用错误

  • 这是您的逻辑中的一个错误,我们需要查看一些代码才能找到它

当有疑问时,最好将
gotoAndStop
调用作为方法中的最后一个调用

编辑:

看到代码后,似乎
stage
本身为空,因此抛出错误。如果没有明显的区别,您可以用try/catch来包围代码:

try {
    while(stage.numChildren){
        stage.removeChildAt(0);
    }
} catch (error:Error) {
}

在访问
STAGE
之前,请尝试收听
ADDED\u to\u STAGE
事件,以确保您对
STAGE
有有效的引用。

在尝试清除其对象之前,应锁定STAGE链接。您似乎正在删除运行代码的实例,因此它将丢失阶段引用

var theStage:Stage=stage;
while(theStage.numChildren > 0){
    theStage.removeChildAt(0); 
    //you can always be sure that element at [0] exists, rather than going for [numChildren-1]
}

谢谢你的回复。在这一点上,66的代码已经被添加到帖子中。我发现我在为flash 10+构建时没有遇到任何错误,但我需要为IOS和Android构建AIR。这会导致错误:-(目前endgame方法中唯一的代码是我在上面添加的从第66行开始的代码。再次感谢,我真的需要这方面的帮助!!我认为这是第二个问题的情况。在使用
gotoAndStop
移动帧头之前,您是否尝试过放置此代码?问题是,即使使用gotoA,我也会出现错误ndStop调用被注释掉了。但无论哪种方式,我都尝试过将gotoAndStop作为方法中的最后一行。哦,对上述内容进行了更正。我发现在flash 10.3中,我仍然会遇到相同的错误,它只是不是“显示停止符”,而是只显示在输出窗口中……这似乎解决了它!谢谢!