我正在使用HaxePunk 2.5.6与OpenFL 3.6.1和Lime 2.9.1;我在HaxeFlixel GitHub上的一期中读到,Lime阻止访问其遗留类。这是一个大问题,因为HaxePunk默认使用遗留版。我想使用 lime.ui.FileDialog
来打开和保存文件,但由于 HaxePunk 被遗留下来,显然这是行不通的(lime.ui.FileDialog
读作null
而不是Class<lime.ui.FileDialog>
......有没有解决方法?我在 OpenFL 中没有看到任何可以替换它的东西,所以我真的很迷茫。显然,除非真的有必要,否则我不想安装任何其他库。在编译时使用-Dnext
或-Dhybrid
覆盖-Dlegacy
会破坏一切,所以这也不是解决方案。
提前感谢!
您可以转到<haxelib directory>/lime/2,9,1/legacy
并通过删除以下行来撤消相关提交中对include.xml
的更改:
<haxeflag name="--macro" value="exclude('lime')" />
但是,如此线程中所述,这会向lime.ndll
添加依赖项(与 lime-legacy.ndll
相反,这是唯一被复制到旧版本/bin
依赖项),因此您的二进制文件在运送到其他没有 Haxe 安装的计算机时会崩溃。
您可以通过手动复制lime.ndll
(或将<ndll name="lime" dir="ndll" />
添加到旧版的include.xml
)来解决此问题,但使用第三方库(如 systools 或 linc_dialogs)将是一个更干净的解决方案。