デジタルコンテンツの制作

nekosuko.jp

Unity(C#) ブログ 学習

UnityでSpriteの画像をスクリプトから取得する

更新日:

Unityで画像を扱うときに、Public変数に画像を入れておいてそれをスクリプト上で利用することができます。
だいたい書籍などを見てるとそんなやり方を説明していると思います。

Public変数を使ってドラッグアンドドロップで画像を貼付けて使うのも便利なときがありますが、画像の種類が増えてくるとこれでは管理できません。配列を使っても限界があります。
そこでスクリプトから画像を取得する方法を調べてみました。

Sprite画像を読込む

Sprite image = Resources.Load<Sprite>("Images/enemy/enemy000");

と、書くとimageに画像ファイルを読み込むことができます。Resourcesフォルダの中にある画像だけが対象となっているようで、ファイルの拡張子はいらないようです。
型をTexture2DにするとGUIやTextureで使える画像として読込むことができるようです。
もしかしたら同じ要領でいろんなファイルやプレファブも取得できるのかもしれません(まだ試していませんが)。

フォルダごとまとめて読込みたい場合

Sprite[] image = Resources.LoadAll<Sprite>; ("Images/enemy/");

こうすればフォルダ内にある画像をまとめて配列に読み込めるようです。
あとは必要な画像を配列から検索して取り出して使えます。

画像のサイズを取得したい

ちょっと調べてみた感じではSpriteの画像のサイズを取得する方法が見つかりませんでした。
Texture2Dとして読込めばheightやwidthを取得できますので、とりあえずはそんな方法でやれます。
もっと正しいやり方があると思いますが、とりあえずはメモとして。

-Unity(C#), ブログ, 学習

Copyright© nekosuko.jp , 2024 All Rights Reserved.