ずっとこうだと思っていました。
sprite = Resources.Load<Sprite>("OpenChest"); GameObject prefab = this.gameObject.GetComponent<Prefab>(); prefab.sprite = sprite;
でもこれだと動きません。
PrefabのSpriteを変更するには「SpriteRenderer」というものを取得する必要があります。
SpriteRendererを取得すると、Prefabのspriteを参照できるようになるので画像が差し替えられます。
↓これが正解。
sprite = Resources.Load<Sprite>("OpenChest"); SpriteRenderer sr = this.gameObject.GetComponent<SpriteRenderer>(); sr.sprite = sprite;