0

我已经在这个错误中工作了好几天,我一直在寻找并寻求帮助(包括从这个网站上阅读)。它基本上涉及到很多外部的actionscript。

每次我完成交互并且我想回到上一帧时,都会出现错误:

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

这是 doRESTART 函数

public function doRESTART(e:MouseEvent):void{
        MovieClip(parent).gotoAndPlay(131);

        MovieClip(parent).MENUS.visible = false;
        MovieClip(parent).ABOUT.visible = false;
        MovieClip(parent).VOUCHER.visible = false;
        MovieClip(parent).UPDATES.visible = false;

由于文件很多,我把它全部放在mediafire中,在flash cs6中http://www.mediafire.com/download/10skpaizeyk2kul/pizzaHut.rar

太感谢了

4

1 回答 1

0

1:开启调试

转到您的发布设置并启用“允许调试”。这将导致您的模棱两可的错误...

null object reference at pizzaBaking/doRESTART()

...更清晰...

null object reference at pizzaBaking/doRESTART() script\pizzaBaking.as:35

...现在表示代码中的哪一行要查找您的问题。

在此处输入图像描述


2:使用调试控制台

使用调试编译模式调出调试控制台。这将使您立即查看相关代码行、调用堆栈以及所有可用变量的状态。任何程序员都不应该没有。

在此处输入图像描述


3:父母==空

doRESTART()被调用时,它不再有父级 ergo,当你调用它时,MovieClip(parent)它返回一个 null,并且在 上没有MENUS属性null。这就是它报告的原因null object reference

如果我是你,我会认真重新考虑你是如何处理这个问题的。删除所有时间线代码,以及任何使用帧动画。这可能是您的 PizzaBaking 类失去其父关系的原因。此外,似乎有几个实例可以将重复的代码合并到一个函数中(KeyboardPizza.as这是一个很好的例子)。考虑给方法传递一个参数来修改它的行为,或者使用switch case,或者可能是一个查找表

就是说,继续。看起来你的项目取得了很大的进展。

-干杯

于 2013-07-25T06:07:38.587 回答