我使用Haxe定位Javascript。
我有一个包(定义为extern)," phaser
",包含Math
类以及许多其他类。
我在文件的开头使用import phaser.*;
,因为我使用了此软件包中的许多类,并且我不想在它们前面添加phaser.
前缀。
我想使用the Math class from Haxe API,但如果我尝试使用它(例如Math.random()
),编译器会认为我想使用phaser.Math
并告诉我没有这样的功能在它。
我可以明确写出我想使用 Haxe Math
类而不是phaser.Math
吗?
我试过haxe.Math
但没有运气......
提前致谢
答案 0 :(得分:4)
尝试
import Math as HaxeMath;
然后使用HaxeMath.*
代替Math.*
注意,名称HaxeMath
没什么特别的,你可以做到
import Math as Freddy;
然后使用Freddy.*
代替Math.*
。 :P
答案 1 :(得分:4)
解决问题的两种方法:
std.Math
。例如std.Math.floor(1.1);
,或typedef HxMath = std.Math;
或import Math as HxMath;
之前添加import phaser.*;
。如果您使用的是早于3.2的haxe版本,请使用in
代替as
,即import Math in HxMath;
。