Unityで画像(スプライト)をSpriteRendererにアクセスして変更する方法

IT

Unity(2D)で、SpriteRendererから画像を変更するコードの書き方です。

スポンサーリンク

成果物

ct3
土台をクリックすると、上のキツネの画像が変化するスクリプトを作ります。

SpriteRendererから画像の変更

changepict2
ただし、今回は「値」にあたるスプライトも変数として宣言します。
changepict3
スクリプトをアタッチしたオブジェクトのインスペクターを確認すると、(勝手に日本語化されてますが)宣言した変数が現れていることが確認できるので、
changepict4
SpriteRendererはヒエラルキーから変化させたい画像をドラッグし、Spriteはアセットにある画像をドラッグするか、右の丸をクリックして選びます。
changepict5
クリックした時にspriteRenderer.sprite = sprite;という命令を実行すると、
changepict7
変数spriteRendererに登録した「オブジェクトのSpriteRenderer」のspriteプロパティが、変数spriteに「登録した画像」に変わります。
changepict6
変数の宣言は複数できるので、
ct4
クリックするたび別々の画像にすることなどもできます。
//Unity C#
public class changepicture : MonoBehaviour
{
    //宣言
    public SpriteRenderer spriteRenderer;
    public Sprite sprite;
    public Sprite sprite2;

    void OnMouseDown()
    {
      //表示されてる画像によって処理を変える
        if (spriteRenderer.sprite == sprite2)
            { 
            //画像切り替え①
            spriteRenderer.sprite = sprite;
            }
        else
            {
            //画像切り替え②
            spriteRenderer.sprite = sprite2;
        }
        
    }
}
やりたいことから逆引きするUNITYの使い方まとめ
Unityをやりたいことから学習していけるよう、機能・用途別にまとめたページです。C#の命令別の逆引きは現時点で作っていません。2019の時期に書き始めているので、それより前のバージョンについては言及しません。

コメント