ちょこ

学生です。メモっぽく。

Unity 2Dゲーム開発日記 16日目 ~Button/Muteki~

Buttonをdisableにする。

ボタンを押せない状態にする。

public Button button1;
button1.interactable = false;


こんな感じで押せなくなる!

点滅させる。

ダメージ受けたときに無敵状態の表現として、点滅させたい。
最初調べたらrenderer.enableのtrueとfalseを切り替えまくるっていうのがあってやってみたのだが、
完全に消えてしまうのはとてもゲーム的にやりづらかった。
そこで、半透明と普通の状態を一定時間ごとに繰り返すことにした。
どうやって透明度をいじるのか分からなかったから調べた。
どうやらColorに(r,g,b)以外にalphaというのがあるらしく、そこをいじるっぽい。

IEnumerator WaitForDamage() {
	float flashTime = 0f;
	Color color = renderer.material.color;
	bool inv = false;
	while (1.0f > flashTime){
		if(!inv){
			color.a = 0.5f;
			renderer.material.color = color;
			inv = true;
		}else{
			color.a = 1.0f;
			renderer.material.color = color;
			inv = false;
		}
		yield return new WaitForSeconds(0.1f);
		flashTime += 0.1f;
	}
	color.a = 1.0f;
	renderer.material.color = color;
}

汚いけど自分はこんな感じで作った。
renderer.material.color.a の値をコルーチンを使って一定時間ごとに変更してるだけ。
透明系はこれからも使いそうだ。

やったこと

- ステージセレクト画面
- 無敵の点滅表現

やりたいこと

- ステージ作る
- 新キャラ、敵キャラ追加