我正在使用Flash CS 5.5。如果我在错误发生时调用按钮点击事件中的一个功能。任何人都说错了什么?
这是我的代码:
var visited:Object = {
Movieclip: 0,
one: 0,
two: 0,
three: 0,
four: 0,
five: 0,
six: 0,
seven7: 0
};
function saveCourseStatus():void
{
var suspend_str:String = visited.Movieclip + "," + visited.one + "," + visited.two + "," + visited.three + "," + visited.four + "," + visited.five + "," + visited.six + "," + visited.seven;
scorm.set("cmi.suspend_data", suspend_str);
scorm.save();
}
Newbutton.addEventListener(MouseEvent.CLICK, Nxt);
function Nxt(event:MouseEvent):void
{
saveCourseStatus();
MovieClip(this.root).gotoAndPlay(0, "one");
}
我有这个错误.saveCourseStatus();
peError: Error #1009: Cannot access a property or method of a null object reference.
at New_fla::MainTimeline/saveCourseStatus()[New_fla.MainTimeline::frame98:116]
at New_fla::MainTimeline/Nxt()[New_fla.MainTimeline::frame98:125]
答案 0 :(得分:0)
错误表示“scorn”或“visited”为空。如果您尝试获取对象的属性或方法为null,则Flash会引发错误。 scorm和visited都很有可能无法使用saveCourseStatus函数,具体取决于您的定义方式以及整个代码的设置方式。由于您没有将它们作为参数传递给saveCourseStatus,因此需要使用saveCourseStatus的公共变量来访问它们。
此外,当您尝试在saveCourseStatus中将其称为“visited.seven”时,您的对象属性被命名为“seven7”(注意“7”)