如何在Actionscript中引用静态类

如何在Actionscript中引用静态类,actionscript,Actionscript,我为这个问题的新意提前道歉;我想我没有掌握Actionscript的基本知识,但在其他地方还没有找到答案 我想要的是一些全局常数,就像C++中的一样。在C++中,我只需要一个文件,我将定义MaPixLead 20,或者类似的东西,当我把文件放在上面时,它们将是全局可访问的。在Actionscript中,我尝试创建一个静态类,如下所示: package { public class Settings { public const mapx:int = 20; public

我为这个问题的新意提前道歉;我想我没有掌握Actionscript的基本知识,但在其他地方还没有找到答案

我想要的是一些全局常数,就像C++中的一样。在C++中,我只需要一个文件,我将定义MaPixLead 20,或者类似的东西,当我把文件放在上面时,它们将是全局可访问的。在Actionscript中,我尝试创建一个静态类,如下所示:

package  
{
public class Settings {

    public const mapx:int = 20;

    public function Settings() {}

}
}
但是当我尝试在代码中使用冒号语法引用它时

var a:int = Settings::mapx;
我得到错误“[Fault]exception,information=TypeError:error#1034:Type强制失败:无法将设置$转换为命名空间。”

我尝试了点语法:

var a:int = Settings.mapx;
并得到一个不同的错误,“通过静态类型类的引用访问可能未定义的属性mapx。”


<>但是我真正想要的是一个全局静态变量文件,比如C++,在ActionScript中找不到一种方法。
package
{
    public class MathUtil
    {

        public static const PI:Number = 3.141592653589;

        public static function deg2rad(angle:Number):Number
        {
            angle = !isNaN(angle) ? (angle) : (0);

            return angle * PI / 180;
        }

    }
}
然后你可以使用点符号

var pi:Number = MathUtil.PI;
var angle:Number = MathUtil.deg2rad(45);
Adobe Flash平台的ActionScript 3.0参考:

用法 您只能在类定义中使用静态,而不能在接口中使用静态 定义

静态类成员不会被继承。不能引用静态文件 类成员使用子类的名称,如java或C++中所能使用的。 但是,您可以在类中引用静态变量或方法 或子类,而不使用任何限定符。请参见下面的示例

不能在静态文件中使用super语句或
this
关键字 方法


您在哪里定义
a
var?基本上,点语法是正确的。我不知道我做错了什么,我尝试了15种方法,但当我删除了所有内容并按照你说的那样做时,它起了作用。谢谢,谢谢你花时间回答这样一个基本的问题。
class someClassName { 
  static var varName; 
  static const kName;
  static function methodName() { }
}