从 Haxe 中静态字段的静态初始化访问非静态数据

Acces non-static data from static initialization of static field in Haxe

我正在尝试用 Float 值初始化 Haxe 中的静态 class 字段,但编译器抱怨初始化程序无效。

我没有太多使用 Haxe 的经验,所以如果有人能帮助我,我将不胜感激。

代码如下:

这里是错误:

"Invalid field access" 基本上是空引用错误,这意味着 Lib.current.stage 在初始化静态字段时是 null。作为解决方法,您可以将 属性 与 getter 一起使用,以便稍后访问它:

public static var radius(get, never):Float;

private static function get_radius():Float
{
    return Lib.current.stage.stageWidth / 35;
}