【Unity】カウントダウンを実装する
レースゲームでお馴染みのカウントダウンを実装していきます。
必要なものは3つ
①カウントダウンのアニメーション
②カウントダウン終了後の処理
③カウントダウン終了時のトリガー
①カウントダウンのアニメーションを作成する
カウントダウンのアニメーションを作成します。今回は、カウントダウンを示す数字が
右から左へ流れるようなアニメーションを作成しました。
www.youtube.com
②イベントハンドラ用の関数を書く
カウントダウン終了後に行いたい処理
- 車を走らせる
- 各ボタンを有効にする 等…
を記述した関数を用意しておきます。
public class Hoge : MonoBehaviour { /// <summary> /// カウントダウン終了後に呼ばれる /// </summary> public void CompletedCountDown() { //カウントダウン終了後に行いたい処理 ・・・ } }
③カウントダウン終了時のトリガーをつくる
アニメーションイベントを利用します。先ほど用意したイベントハンドラ用の関数を持つスクリプトを、
①カウントダウンのアニメーションが登録されたAnimatorを持っているオブジェクトにアタッチします。
次に、カウントダウンアニメーションのタイムラインを開き、
カウントダウン終了時のタイミングにカーソルを合わせて右クリックし、「Add Animation Event」を選択します。
すると白いタグのようなものが表示されます。
こちらの白いタグをクリックしてInspectorを開き、
「Function」に②で作成した関数を選択します。
選択欄に表示されていない場合は、
- イベントハンドラ用の関数がprivateで宣言されている
- イベントハンドラ用の関数を持つクラスがMonoBehaviourを継承していない
- Animatorがアタッチされているオブジェクトにスクリプトをアタッチしていない
この辺をチェックしてみてください。
そんな訳でカウントダウン終了後に車を走らせてみました。
www.youtube.com