我有以下代码:
package com.urbansquall.preloader
{
import flash.display.*;
import flash.events.*;
import flash.utils.*;
public class Preloader extends MovieClip
{
private var m_firstFrame:Boolean = true;
public function Preloader()
{
addEventListener(Event.ENTER_FRAME, checkFrame);
return;
}// end function
protected function endLoading() : void
{
return;
}// end function
protected function updateLoading(param1:Number) : void
{
return;
}// end function
private function checkFrame(event:Event) : void
{
if (currentFrame == totalFrames)
{
removeEventListener(Event.ENTER_FRAME, checkFrame);
startup();
return;
}
if (m_firstFrame)
{
beginLoading();
m_firstFrame = false;
return;
}
var _loc_2:* = root.loaderInfo.bytesLoaded / root.loaderInfo.bytesTotal;
updateLoading(_loc_2);
return;
}// end function
protected function get mainClassName() : String
{
return "Main";
}// end function
protected function beginLoading() : void
{
return;
}// end function
private function startup() : void
{
stop();
if (!m_firstFrame)
{
endLoading();
}
var _loc_1:* = getDefinitionByName(mainClassName) as Class;
if (_loc_1 == null)
{
throw new Error("Preloader:startup. There was no class matching [" + mainClassName + "]. You may need to override Preloader::mainClassName");
}
var _loc_2:* = new _loc_1 as DisplayObject;
if (_loc_2 == null)
{
throw new Error("Preloader::startup. [" + mainClassName + "] needs to inherit from Sprite or MovieClip.");
}
addChildAt(_loc_2, 0);
return;
}// end function
}
}
但是当我按Enter和ctrl按钮进行测试时,它显示出该主题/主题的标题中显示的错误。
这个确切的错误:
ReferenceError: Error #1065: Variable ArenaMain is not defined. at global/flash.utils::getDefinitionByName() at com.urbansquall.preloader::Preloader/startup() at com.urbansquall.preloader::Preloader/checkFrame()
我该如何解决/解决此问题?
我正在使用Adobe Flash Professional CS6。
答案 0 :(得分:0)
编译器找不到类ArenaMain。这可能是由于多种原因造成的,因此无法给出准确的答案。即:库中可能有一个名为ArenaMain的定义的MovieClip,但未标记为在第一帧中导出。 另外,您可能希望在发布设置中标记“允许调试”,这将告诉您带有行号的完整错误堆栈。