Unity

Unity オブジェクトの画像(Sprite)を動的に変更する方法

More than 3 years have passed since last update.

SpriteRendererのspriteを外部設定可能にし、またspriteの変更処理を書く

public class Player : MonoBehaviour {
    SpriteRenderer MainSpriteRenderer;
    // publicで宣言し、inspectorで設定可能にする
    public Sprite StandbySprite;
    public Sprite HoldSprite;
    public Sprite SlashSprite;

    void Start ()
    {
       // このobjectのSpriteRendererを取得
        MainSpriteRenderer = gameObject.GetComponent<SpriteRenderer>();
    }

    // 何かしらのタイミングで呼ばれる
    void ChangeStateToHold()
    {
       // SpriteRenderのspriteを設定済みの他のspriteに変更
       // 例) HoldSpriteに変更
        MainSpriteRenderer.sprite = HoldSprite;
    }
}

inspectorで、変更したいscriptを設定

スクリーンショット 2014-06-08 22.45.39.png