在AS3中,我可以如下嵌入Json文件:

[Embed(source = "controllers.json", mimeType='application/octet-stream')]
private static const JSON_CONTROLLERS:Class;

在Haxe中有等效的方法吗?

如果没有,我有什么选择?

最佳答案

如果您使用的是OpenFL,则有两种选择:

  • 使用@:file元数据:
    @:file("controllers.json")
    class JsonControllers extends openfl.utils.ByteArray.ByteArrayData {}
    
    class Main extends openfl.display.Sprite {
        public function new() {
            super();
            trace(new JsonControllers());
        }
    }
    

    您也可以使用纯Haxe进行此操作,但只能在swf目标上进行。 OpenFL使这项工作适用于所有目标。
  • 使用openfl.Assets:

    project.xml / application.xml文件中包含一个资产文件夹:
    <assets path="assets" />
    

    访问文件内容:
    trace(openfl.Assets.getText("assets/controllers.json"));
    

  • 使用纯Haxe,您可能需要使用-resource-检查Haxe Manual中的用法示例。

    关于haxe - 将Json文件嵌入项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40429871/

    10-13 02:33