Unity事例ノート

UNITY

ゴールすれば花火を打ち上げる

ゴールのオブジェクトに触れると、花火が出現するしくみを作ってみましょう。

今回は2D制作で、アイテムに触れると、5発の花火が順番に打ち上がるように、スクリプトを作成しています。

関連記事:
条件によってエフェクトのサイズを変える
爆発エフェクトを発生させるしくみ
クリックした位置にパーティクル発生
発生させたパーティクルをn秒後に削除
エフェクト発生の後にテキスト表示
進行方向にキャラクターの向きを変える(2D)
画像データを使ってアニメーション作成
敵に当たるとスコアを加点-2Dシューティング

アセットデータの用意

花火のエフェクトはこちらの、Cartoon FX Remaster Freeを利用させていただきました。

Cartoon FX Remaster Free

ゴールのアイテムはこちらの、2D Pixel Item Asset Packを利用させていただきました。

2D Pixel Item Asset Pack

プレーヤーの魔女の画像は、こちらのpngファイルをダウンロードしてご利用ください。

それぞれインポートが終わると、プロジェクトビューはこのように確認できます。

オブジェクトの用意

プレーヤー(witch)の画像を、ヒエラルキーに配置します。

witchの位置を変更します。

2Dカプセルコライダー、2Dリジッドボディを追加し、キネマティックにします。

続いて、2Dアイテムパックから、アイテムを選んで配置します。

アイテムの名前をGoalに変更し、サイズと位置を変更します。

2Dボックスコライダーを追加し、トリガーにするにチェックを入れます。

ゲームビューではこのように見えています。

次に、花火の発生ポイントをつくりましょう。

空のオブジェクトを作成し、上部に配置。

わかりやすいように、アイコンをつけておきます。

これを複製して、ぜんぶで5つ作成し、適当なところに配置します。

シーンビューではこのように見えています。

アイテムに触れると花火を出現させる

FireWork.csを作成し、プレーヤー(witch)に追加します。

FireWork.csを記述します。

MyArrayの要素0~4に、5つのGameObject(発生ポイント)を入れます。

Hanabiのフィールドに、CFX_FireWork(花火のエフェクト)を入れます。

ゲームプレイして、プレーヤーを操作しましょう。

アイテムにぶつかると、5つの花火が打ちあがります。

発生ポイントを配列に格納し、0.5秒おきにループで取り出し。

その発生ポイントの位置に、花火のプレハブを生成しています。

関連記事:
条件によってエフェクトのサイズを変える
爆発エフェクトを発生させるしくみ
クリックした位置にパーティクル発生
発生させたパーティクルをn秒後に削除
エフェクト発生の後にテキスト表示
進行方向にキャラクターの向きを変える(2D)
画像データを使ってアニメーション作成
敵に当たるとスコアを加点-2Dシューティング

SCHOOL教室案内