Actionscript 3 - Ошибка № 1065: переменная ArenaMain не определена - PullRequest
0 голосов
/ 21 октября 2018

У меня есть следующий код:

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()

Как мне решить / исправить это?

Я использую Adobe Flash Professional CS6.

1 Ответ

0 голосов
/ 30 октября 2018

Компилятору не удается найти класс ArenaMain.Это может быть связано с несколькими причинами, поэтому не может быть точного ответа.Т.е. в библиотеке может быть мувиклип с определением имени ArenaMain, который не помечен для экспорта в первом кадре.Также вы можете захотеть пометить «Разрешить отладку» в настройках публикации, что сообщит вам полный стек ошибок с номером строки.

...