1

他のプラットフォームでは、[Embed(source="logo.gif")] や @:bitmap のようなものを使用できますが、Windows/その他の Cpp プラットフォームにはそのオプションがないようです。

EmbedAssets libを使用しようとしましたが、古くなっています。

nmmlファイルのリソースタグも使ってみました。これでイメージを haxe.sys.io.Bytes として取得できましたが、使用するには、haxe.sys.io.Bytes を nme.utils.ByteArray に変換する必要があります。これを行う方法が見つかりませんでした。

では、Windows にデプロイするときに haxe/nme プロジェクトに画像を埋め込むにはどうすればよいでしょうか?

4

2 に答える 2

4

に加えてopenfl.Assets、OpenFL は、、、@:bitmapおよび埋め込みタグ@:soundをサポートします。@:font@:file

前者は<assets path="to/assets" />プロジェクトの XML ファイルを必要とし、Windows では実行可能ファイルと一緒にファイルをコピーします。

埋め込みタグでは、アセット ファイルが埋め込まれている方法に基づいてソース パスにある必要があるため<source path="to/assets" />、プロジェクト ファイルで使用します。

@:bitmapタグを使用した例を次に示します。

package;


import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.display.Sprite;

@:bitmap("nme.png") class Image extends BitmapData {}


class Main extends Sprite {


    public function new () {

        super ();

        var bitmap = new Bitmap (new Image (0, 0));
        addChild (bitmap);

        bitmap.x = (stage.stageWidth - bitmap.width) / 2;
        bitmap.y = (stage.stageHeight - bitmap.height) / 2;

    }


}

埋め込みタグを使用すると、アセットは実行可能ファイル内に配置されます。

于 2013-06-14T15:55:22.163 に答える