Actionscript 3 - 错误 #1065:未定义变量 ArenaMain

Posted

技术标签:

【中文标题】Actionscript 3 - 错误 #1065:未定义变量 ArenaMain【英文标题】:Actionscript 3 - Error #1065: Variable ArenaMain is not defined 【发布时间】:2019-03-25 10:02:27 【问题描述】:

我有以下代码:

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

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

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

【问题讨论】:

1.提供的代码 sn-p 是一段反编译代码。虽然提出这样的问题并不构成犯罪,但使用反编译代码的有效理由的数量非常有限,因此这些问题通常不会仅仅因为它们而受到喜爱。此外,即使没有混淆,反编译的代码也很难处理。 2. 无论如何,这段代码没有任何帮助,因为它无法通过类名获取类定义,而类名所指的内容甚至不在提供的代码中。这就是反编译的问题——它经常破坏事情。 试试getDefinitionByName( mainClassName() )。另外,您是否有Arena 的变量或类名? @ Organis & VC.One :因为这是一个反编译的代码,而且游戏是在只有 CS3 或更早版本可用的时候制作的,所以,当我搜索时,有些东西发生了变化,这'在某些方面破坏了这个游戏的代码。这是游戏的主要代码,那么,我如何定义这个 ArenaMain 变量?谢谢。 你没有定义它。它是(据我所知)一个类定义,应该存在于当前的 ApplicationDomain 中,以便 getDefinitionByName(...) 方法获取。它是什么以及预期会做什么 - 只有原始开发人员才能回答这些问题。 【参考方案1】:

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

【讨论】:

以上是关于Actionscript 3 - 错误 #1065:未定义变量 ArenaMain的主要内容,如果未能解决你的问题,请参考以下文章

函数不返回值(错误 1170;ActionScript 3.0)

ActionScript 3 扔错误

语法错误 - rightparen - ActionScript 3 - 使用数组

ReferenceError:错误 #1065:未定义变量 JSON

Actionscript 3 错误 1009:无法访问空对象引用的属性或方法

wordpress上传数据库出现 1065错误