2015-08-15 422 views
2

我想用浮点值初始化Haxe中的静态类字段,但编译器抱怨初始化程序无效。访问Haxe静态字段的静态初始化的非静态数据

我没有很多使用Haxe的经验,所以如果有人能帮助我,我会非常感激。

下面是代码:

Enemy.hx

这里是错误:

cmd

+0

如果'Lib.current.stage.stageWidth'静态字段,它会工作。要修复它,你还可以使radius不是静态的,并在构造函数中设置半径。 –

回答

4

“无效的字段访问” 基本上是一个空引用错误,这意味着Lib.current.stagenull在静态字段被初始化的时候。作为一种变通方法,因此,它的访问以后,你可以使用属性与getter:

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

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

谢谢!这解决了问题! –