明确使用 Haxe API 类

Use Haxe API classes explicitly

我使用 Haxe 定位 Javascript。

我有一个包(定义为外部包)“phaser”,其中包含 Math class 以及许多其他包。 我在文件的开头使用 import phaser.*; 因为我使用了这个包中的许多 class 并且我不想在它们前面都加上 phaser..

我想使用 the Math class from Haxe API,但如果我尝试使用它(例如 Math.random()),编译器认为我想使用 phaser.Math 并告诉我没有里面有这样的功能。

我可以明确地写出我想使用 Haxe Math class 而不是 phaser.Math 吗?

我试过 haxe.Math 但没有成功...

提前致谢

尝试

import Math as HaxeMath;

然后使用 HaxeMath.* 而不是 Math.*

请注意,名称 HaxeMath 没有什么特别之处,您可以这样做

import Math as Freddy;

然后使用 Freddy.* 而不是 Math.*。 :p

两种解决方法:

  1. 使用std.Math。例如std.Math.floor(1.1);,或typedef HxMath = std.Math;,或
  2. import phaser.*;之前添加import Math as HxMath;。如果您使用的是 3.2 之前的 haxe 版本,请使用 in 而不是 as,即 import Math in HxMath;.