2016年10月25日火曜日

Unity Byte配列をspriteに変換する


Textureとspriteのbyte配列変換例。
16*16のPNGをリソースから読み取ります。
画像ファイルをバイト配列として読み取る。拡張子は.bytesにする
        //Resources/Sprites/masuku2.bytes
        TextAsset text_asset = Resources.Load("Sprites/"+"画像") as TextAsset;
        byte[] gazo = text_asset.bytes;

        SpriteRenderer srt= GameObject.Find("
Sprite").GetComponent<SpriteRenderer>();

        Texture2D texture = new Texture2D (0, 0);
        texture.LoadImage(gazo);
        texture.filterMode = FilterMode.Point;

        srt.sprite = Sprite.Create (texture, new Rect (0, 0, 16, 16), new Vector2 (0.5f, 0.5f));

Sprite.Createの第二引数は中心点の指定です。画像サイズが同じで位置を変えずにスプライトの切り替えをする場合は0.5fです。

0 件のコメント:

コメントを投稿