Unityで五目並べの勝利アニメーションを作る

Unityで五目並べの勝利アニメーションを作る

前回の記事で五目並べの勝利判定プログラムを作りました。今回はそれを少し改良し、勝利アニメーションを作ってみます。

まだ、前回の五目並べ勝利判定プログラムの記事を見ていない方は、先にそちらを見ることをおすすめします。

今回の記事では、最終的にこんな感じのアニメーションをつくります。

下準備

Board.checkContinuousの編集

編集した点は、checkContinuousの戻り値をint からList<int> にしました。

前までは、5個並んだマスがあるなら5を返していましたが、これからはその5マスの場所を返すようにしています。

そうすることによって、勝利アニメーションをそのマスだけに与えることができるようになります。

アニメーション

Window>アニメーション>アニメーション からアニメーションウィンドウを開いて、アニメーションを追加したいゲームオブジェクトをクリック。今回は、Canvas>BoardViewport>Board>0 を選択。

その後「作成」を押して適当なファイル名で保存し、「プロパティーを追加」をクリック。

Rect transform のrotationを選択して、好きなように回転アニメーションを作る。

Assetsに戻り、右クリックから作成>アニメーターコントローラーを追加。アニメーターコントローラーにさっき作ったアニメーションを追加して「レイヤーデフォルトステート」にする。

これで一つ目のアニメーションが作成完了。もう一つのアニメーションは、作り方は同じだが、今回はimage プロパティーのcolorにあるa(アルファ、透明度)をアニメーションにする。また、このアニメーションのインスペクトタブにある「ループ時間」のチェックを外す。

だんだん透明になるアニメーションができたら、また新しいアニメーターコントローラーに追加して、そのアニメーターコントローラーを0(オブジェクト)のanimatorコンポーネントの「コントローラー」に設定する。

そしてanimatorコンポーネントを無効にする。(スクリプトで5個そろった時だけオンにする)

スクリプト

まずはanimatorControllerをパブリックで宣言して、unityエディターからさっき作った回転するアニメーターコントローラーを選択。

Game.animatePenta

5つマスがそろったら、その5マスのアニメーターコントローラーを回転に変えて、その後すべてのマスのアニメーションを有効にする。

Game.input

さっき作ったanimatePentaを毎回インプットの時に呼ぶ。

今回までのスクリプト

Game.cs

Board.cs

UIOrganize.cs

Gomokuカテゴリの最新記事