AIプログラムとかUnityゲーム開発について

探索や学習などを活用したAI系ゲームを作りたいと思います。

CanvasのImageの切り替え

f:id:yasu9780:20150806073953p:plain

Canvas内のImageの画像切り替えは、予めResources内の画像をSpriteとして読み込んでおいて、
Imageコンポーネントのspriteに代入したら切り替わりました。
このImage自体はScript(DLL)で、画像指定はSourceImageとあったので解りにくいですね。

Sprite happy;
void Start() {
  happy   = Resources.Load<Sprite>("happy");
}
void OnClick() {
  chara.GetComponent<Image>().sprite=happy;
}

あと、FadeですがiTweenで色々と試しましたがどうにもできませんね。
Canvas内ではAlpha指定が通常と違うせいかもしれません

直接指定するなら

bad.GetComponent<CanvasRenderer>().SetAlpha(1f); 

コルーチンで指定するなら(badは不正解のtext)

bad  = GameObject.Find("BadText");
StartCoroutine("CanvasFade",bad);
private IEnumerator CanvasFade(GameObject tar)
{
	for(int i=0;i<=200;i++)
	{
		tar.GetComponent<CanvasRenderer>().SetAlpha( 1f-(i/200f) );
		yield return i; 
	}
	GameObject.Find("NextButton").GetComponent<ClickNext>().OnClick();
	chara.GetComponent<Image>().sprite=preview;
}

FadeOut後に、次の問題を表示する処理を読んで、
メイドさんの画像をデフォルトに戻している