スクリプトから画像を動的に変更する

Unityで、CanvasにImageを配置して

そのImageで表示する画像を、スクリプトから変更したい。

前にうまくいった時は

こんな感じで指定していたのだけど

public class ResultManager : MonoBehaviour {

public Image todayPig;

void Start () {

// ランダム値

int randomNo = Random.Range(0,33);

// 画像を表示

string imgStr = “Images/enemy/” + randomNo;

Sprite image = Resources.Load<Sprite> (imgStr);

todayPig.sprite = image;

なぜかこの方法ではうまくいかず、絵が表示されず、

Imageの背景色(白)が表示されてしまう。

なぜか、絵がフォルダから読み込めていないようでした。

ランダムじゃなくて直接指定しても表示されない。

それで、別の方法を探して

これを参考に

Unity オブジェクトの画像(Sprite)を動的に変更する方法 - Qiita
**SpriteRendererのspriteを外部設定可能にし、またspriteの変更処理を書く** ```c# public class Player : MonoBehaviour { SpriteRender...

最初に画像を、スクリプトのインスペクターから登録しておいて

それを呼び出す、力技(むりくりなんとかする)

public class GameManager : MonoBehaviour {

    public Sprite image0;
    public Sprite image1;

    public Image ImageItem1;

public void ShowImages(){     
        randomNo1 = Random.Range(0,6);

// 画像を表示
        switch (randomNo1){
        case 0:
            ImageItem1.sprite = image0;
            break;

これで、画像の表示はできるようになりました。

前回は画面表示時に1度だけランダムな画像を表示で終わり、

今回のは、ShowImages()を呼ぶ度に画像を変更して使います。

次は、表示するタイミングと消すタイミング、

画像を切り替えるタイミングを指定したいのだけど

どうやるのかなー