首页 > 解决方案 > Actionscript 3 - 错误 #1065:未定义变量 ArenaMain

问题描述

我有以下代码:

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
    } 
}

但是当我按下回车和 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()

我该如何解决/解决这个问题?

我正在使用 Adob​​e Flash Professional CS6。

标签: actionscript-3flashactionscript

解决方案


编译器找不到类 ArenaMain。这可能是由于多种原因造成的,因此无法给出准确的答案。即:库中可能存在定义名称为 ArenaMain 的 MovieClip,但未标记为在第一帧中导出。此外,您可能希望在发布设置中标记“允许调试”,这将告诉您带有行号的完整错误堆栈。


推荐阅读