Макрос --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')" />