【Unity】カウントダウンを実装する

レースゲームでお馴染みのカウントダウンを実装していきます。

必要なものは3つ
①カウントダウンのアニメーション
②カウントダウン終了後の処理
③カウントダウン終了時のトリガー

①カウントダウンのアニメーションを作成する

カウントダウンのアニメーションを作成します。
f:id:dev-oma:20170730224133p:plain
今回は、カウントダウンを示す数字が
右から左へ流れるようなアニメーションを作成しました。
www.youtube.com

イベントハンドラ用の関数を書く

カウントダウン終了後に行いたい処理

  • 車を走らせる
  • 各ボタンを有効にする 等…

を記述した関数を用意しておきます。

public class Hoge : MonoBehaviour {
    /// <summary>
    /// カウントダウン終了後に呼ばれる
    /// </summary>
    public void CompletedCountDown() {
        //カウントダウン終了後に行いたい処理
        ・・・
    }
}

③カウントダウン終了時のトリガーをつくる

アニメーションイベントを利用します。
先ほど用意したイベントハンドラ用の関数を持つスクリプトを、
①カウントダウンのアニメーションが登録されたAnimatorを持っているオブジェクトにアタッチします。


次に、カウントダウンアニメーションのタイムラインを開き、
カウントダウン終了時のタイミングにカーソルを合わせて右クリックし、「Add Animation Event」を選択します。
f:id:dev-oma:20170730231544p:plain


すると白いタグのようなものが表示されます。
f:id:dev-oma:20170730231950p:plain


こちらの白いタグをクリックしてInspectorを開き、
「Function」に②で作成した関数を選択します。
f:id:dev-oma:20170730233337p:plain:w300


選択欄に表示されていない場合は、

この辺をチェックしてみてください。


そんな訳でカウントダウン終了後に車を走らせてみました。
www.youtube.com