Unity事例ノート

UNITY

敵に当たるとスコアを加点-2Dシューティング

2Dゲームで、ミサイルが当たったときにスコアが表示される仕組みをつくってみましょう。

発射したレーザーミサイルが敵にぶつかると、Scoreが加点され、ミサイルも削除されます。

関連記事:
クリックでミサイルを発射-2Dシューティング
2Dゲームで画面端から外へ移動させない
Prefabに触れると得点が入る
点数をテキスト表示
TextMeshProをスクリプトで表示
ハイスコアをつくる
ゴールすれば花火を打ち上げる
点数によるABC評価ランク

TextMeshProの準備

※この章は、クリックでミサイルを発射-2Dシューティングを作成してから進めてください。

今回はTextMeshProを使って、作成します。

TMP Importの画面が出ますので、Import TMP Essentialsをクリックしましょう。

Textを下の方に配置し、SCORE:0 を入れておきます。

Canvasを選択し、UIスケールモード > 画面サイズに拡大にします。

ゲームの画面サイズに合わせて、テキストサイズが自動調整されます。

ゲームビューではこのように表示されています。

敵キャラの準備

敵キャラのオブジェクトを作成しましょう。

今回も、ギャラクシア2Dスペースシュータースプライトパック#1 のフリーアセットを使用しています。

大きさを5倍にしました。

2Dサークルコライダーを追加し、コライダーのサイズを、敵キャラに合わせます。

2Dリジッドボディを追加し、ボディタイプはキネマティックに変更します。

Enemyという名前でタグをつけておきます。

敵キャラをプレハブ化します。

プレハブの元データは削除しておきましょう。

敵キャラのランダム生成

続いて、敵キャラを1秒おきにランダム出現させます。

空のオブジェクトを作成します。

GameManager.csを作成し、GameObjectに追加します。

GameManager.csを記述します。

ScoreText、Enemyのフィールドに、それぞれのオブジェクトを入れます。

ミサイル側のスクリプト

続いて、ミサイル側の設定を行います。

カプセルコライダーを追加し、サイズを調整。

トリガーにするにチェックを入れます。

ミサイル側のスクリプトを追記します。

LaserMove.csを開いて追記します。

*ここで追記した箇所にはコメント(//)を入れています。

ゲームプレイしてみましょう。

WASDキーで移動、クリックで発射。

敵キャラに当たればスコアが加点されて、ミサイルと敵キャラが消えます。

関連記事:
クリックでミサイルを発射-2Dシューティング
2Dゲームで画面端から外へ移動させない
Prefabに触れると得点が入る
点数をテキスト表示
TextMeshProをスクリプトで表示
ハイスコアをつくる
ゴールすれば花火を打ち上げる
点数によるABC評価ランク

この記事の監修・専門指導

枚方市のプログラミング専門スクール
フタバゼミ 枚方くずは校

この記事で解説したUnityやC#の技術も、当校では直接個別指導しています。「むずかしいことをおもしろく」をモットーに、初心者から本格開発までサポート。樟葉駅から徒歩1分、まずはお気軽に体験会へお越しください。

SCHOOL教室案内