Макрос --include рекурсивно включает пакеты, не подходящие для цели сборки

Я создаю игру, используя haxeflixel lib. В одной части моего кода я динамически разрешаю классы с помощью 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

Похоже, что макрос include рекурсивно включает в себя все, что импортировали мои классы, включая вещи, которые не подходят для цели neko. Есть ли способ обойти эту проблему?

1 ответ

Решение

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')" />
Другие вопросы по тегам