1

我正在使用 HaxeFlixel 库构建游戏。在我的代码的一部分中,我通过Type.resolveClass(). 为了避免必须单独引用每个潜在的类,我尝试--macro include()通过将其添加到我的project.xml

<haxeflag name="--macro" value="include('my.pack')" />

这在针对 Flash 目标进行编译时效果很好,但是当我尝试针对 neko 进行编译时,我得到:

C:\HaxeToolkit\haxe\lib\flixel/3,0,4/flixel/FlxG.hx:3: characters 7-34 : You can not access the flash package while targeting neko (for flash.display.DisplayObject)
C:\HaxeToolkit\haxe\lib\flixel/3,0,4/flixel/FlxSprite.hx:3: characters 7-18 :     referenced here
source/objects/enemies/Bat.hx:3: characters 7-23 :     referenced here
--macro:1: character 0 :     referenced here

看起来包含宏递归地包括我的类导入的所有内容,包括不适合 neko 目标的内容。有没有办法解决这个问题?

4

1 回答 1

3

OpenFL 需要--macro allowPackage("flash")工作,从而抑制You can not access the flash package...错误。

看起来include是之前调用的allowPackage,所以你可以手动调用allowPackage之前include

<haxeflag name="--macro" value="allowPackage('flash')" />
<haxeflag name="--macro" value="include('my.pack')" />
于 2014-01-29T05:12:21.300 回答