AS3" Type不是编译时常量"

时间:2014-06-10 22:29:43

标签: actionscript-3

好的,所以这是我的问题。我正在反编译一个老瑞士法郎试图让它工作。我几乎可以使用它,但我一直有同样的问题。我一直收到以下错误:

com \ clubpenguin \ tools \ localtext \ core \ LocalTextProxy.as,第84行1046:未找到类型或不是编译时常量:字体。

以下是代码:

    package com.clubpenguin.tools.localtext.core
    {
       import flash.text.Font;

       public class LocalTextProxy extends Object
       {

  public function LocalTextProxy() {
     super();
  }

  private static const _localTextFields:Array = [];

  private static const _fontLibraryDependants:Array = [];

  private static var _localText:ILocalText;

  private static var compileTimeEnumeratedFonts:Vector.<Font> = Vector.<Font>(Font.enumerateFonts());

  public static function queueLocalTextField(localTF:ILocalTextField) : void {
     if(!_localText)
     {
        _localTextFields.push(localTF);
     }
     else
     {
        _localText.addLocalTF(localTF);
     }
  }

  public static function queueFontLibraryDependant(dependant:IFontLibraryDependant) : void {
     if((_localText) && (_localText.libraryInitialized))
     {
        dependant.onFontLibraryLoaded();
     }
     else if(_localText)
     {
        _localText.registerFontLibraryDependant(dependant);
     }
     else
     {
        _fontLibraryDependants.push(dependant);
     }

  }

  public static function get initialized() : Boolean {
     return !(_localText == null) && (_localText.libraryInitialized);
  }

  public static function get localText() : ILocalText {
     if(!_localText)
     {
        throw new Error("An ILocalText implementation has not been set.");
     }
     else
     {
        return _localText;
     }
  }

  public static function set localText(value:ILocalText) : void {
     var localTF:LocalTextField = null;
     var fontLibDependant:IFontLibraryDependant = null;
     _localText = value;
     for each(localTF in _localTextFields)
     {
        _localText.addLocalTF(localTF);
     }
     _localTextFields.length = 0;
     for each(fontLibDependant in _fontLibraryDependants)
     {
        if(_localText.libraryInitialized)
        {
           fontLibDependant.onFontLibraryLoaded();
        }
        else
        {
           _localText.registerFontLibraryDependant(fontLibDependant);
        }
     }
     _fontLibraryDependants.length = 0;
  }

  public static function get allFonts() : Vector.<Font> {
     if(!_localText)
     {
        return compileTimeEnumeratedFonts;
     }
     return _localText.fontLibrary.allFonts;
  }
       }
    }

我不能为我的生活得到这个错误解决。如果我只删除代码,我没有其他错误(除了其他文件中的相同错误),所以我知道这是我需要工作的最后一件事。任何帮助将不胜感激。

这是一个Flash 9文件,设置为使用ActionScript 3发布。

谢谢!

1 个答案:

答案 0 :(得分:1)

这不能是Flash 9文件,因为{10}中引入了Vector类型,并且在Flash 9及更低版本中不可用。因此,将编译模式设置为Flash 10并重试。