ジョーカースクリプト交流掲示板 55216

Unity用 アドベンチャーゲームエンジン。ジョーカースクリプトの掲示板です。

ジョーカースクリプトのサイトへ移動


質問用スレッド

1:ShikemokuMK :

2014/10/28 (Tue) 15:44:43

ジョーカースクリプトに関するわからないことがありましたら、お気軽にどうぞ
310:無名 :

2017/01/24 (Tue) 22:18:05

>>307

私が行った修正は、例えば ImageObject.cs で

this.targetSprite = Resources.Load<Sprite>(storage);

としているところを


TextAsset ta = Resources.Load<TextAsset>(storage);
int pos = 16;
int width = 0;
int height = 0;
for (int i = 0; i < 4; i++)
{
width = width * 256 + ta.bytes[pos++];
}
for (int i = 0; i < 4; i++)
{
height = height * 256 + ta.bytes[pos++];
}
Texture2D texture = new Texture2D(width, height);
texture.LoadImage(ta.bytes);
this.targetSprite = Sprite.Create(texture, new Rect(0, 0, width, height), new Vector2(0.5f, 0.5f));

のようにしたことです。ImageObject.cs は恐らく images/character 以下の画像と対応しているので、
これで images/character 以下のファイル名の拡張子を bytes に変更すれば良いと思います。

もしかすると他の箇所の修正も必要かもしれませんが、基本的なアイディアとしては Resources.Load<Sprite> と
して png 画像を直接 Sprite にしているところを、

 バイト配列→Texture→Sprite

のように自力で変換するコードに差し替えることです。以下のリンクを参考にしました。
http://answers.unity3d.com/questions/734863/sprites-compression-question-their-size-in-build.html

しかしこの方法は Joker Script の内部コードを変更してしまっているため、今後バージョンアップなどに
対応するのが面倒くさくなりますし、あまり推奨されない方法ではあるかと思います。

あと上記コードは width, height を求める際に png フォーマットであることを仮定しているので
png 画像でなければ動きません。

  • 名前: E-mail(省略可):
  • 画像:

Copyright © 1999- FC2, inc All Rights Reserved.