お電話でのお問い合わせ
電話をかける
電話をかける メニューボタン
お知らせカリキュラム・料金教室紹介無料体験授業

フタバゼミ
ゼミノート

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

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

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

Textの準備

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

【Unity C#】クリックでミサイルを発射-2Dシューティング
https://futabazemi.net/notes/unity-script-score/

まずはテキストを作成します。

Textの名前をScoreTextに変更しました。

ScoreTextのサイズ、色、配置を変更します。

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

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

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

テキストに入っているNewTextは削除しましょう。

テキスト表示のスクリプト

続いて、テキスト表示のスクリプトを作成します。

まずは空のオブジェクトを作成しましょう。

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

CountText.csを書きます。

テキストを扱う場合は、using UnityEngine.UI; を忘れずに記述しておきましょう。

GameObjectのインスペクターに、ScoreTextフィールドが出来ています。

ここに、ScoreTextを入れましょう。

標的の作成

標的(敵)となるオブジェクトを用意しましょう。

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

標的を5倍の大きさにしました。

標的にタグを設定しましょう。

タグ名はEnemyとしました。

Enemyタグを忘れずに選択しましょう。

コンポーネントを追加から、2Dサークルコライダーと、2Dリジッドボディを追加。

トリガーにするにチェックを入れ、ボディタイプはキネマテックを選択します。

コライダーを編集してサイズを調整します。

標的のサイズに合わせましょう。

当たった時にAddScoreを実行

標的にぶつけるのはミサイルなので、ミサイルを編集していきます。

まずは、ミサイルのプレハブを選択し、コンポーネントを追加から、2Dカプセルコライダーを選びます。

続いて、ミサイルのプレハブに追加しているLaserMove.csを編集しましょう。

LaserMove.csを開いて、コードを記述します。

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

標的に当たるとスコアが1ずつ増え、ミサイルも削除されています。