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 の値をコルーチンを使って一定時間ごとに変更してるだけ。
透明系はこれからも使いそうだ。
やったこと
- ステージセレクト画面
- 無敵の点滅表現
やりたいこと
- ステージ作る
- 新キャラ、敵キャラ追加