コインに触れるとポイントが加算されるシステムの実装方法

この資料では、プレイヤーがコインに触れるとポイントが加算されるシステムを実装します。コインに IsTrigger を設定し、トリガーイベントを使用してポイントを加算する方法を解説します。

1. シーンの準備

プレイヤーオブジェクトの作成

  1. Unityエディタで2D Object > Sprite > Squareを選び、プレイヤーオブジェクトを作成します。
  2. 名前をPlayerに変更します。
  3. プレイヤーオブジェクトにRigidbody2Dコンポーネントを追加します。
  4. Box Collider2Dを追加します。

コインオブジェクトの作成

  1. 2D Object > Sprite > Circleを選び、コインオブジェクトを作成します。
  2. 名前をCoinに変更します。
  3. コインオブジェクトにCircle Collider2Dを追加し、Is Triggerのチェックボックスをオンにします。
  4. コインのタグをCoinに設定します。
    • コインオブジェクトを選択し、インスペクターウィンドウでTag > Add Tag...を選び、新しいタグ「Coin」を作成し、コインに適用します。

2. スクリプトの作成

プレイヤーがコインに触れるとポイントが加算され、コインが削除される処理を実装します。

ステップ 1: スクリプトを作成

  1. PlayerControllerという名前で新しいC#スクリプトを作成し、以下のコードを追加します。
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    // プレイヤーのスコア
    private int score = 0;

    // トリガーに衝突したときに呼ばれるメソッド
    private void OnTriggerEnter2D(Collider2D collision)
    {
        // 衝突したオブジェクトが "Coin" タグを持っている場合
        if (collision.gameObject.CompareTag("Coin"))
        {
            // スコアを加算
            score += 1;
            Debug.Log("ポイントが追加されました! 現在のスコア: " + score);

            // コインオブジェクトを削除
            Destroy(collision.gameObject);
        }
    }
}

ステップ 2: スクリプトのアタッチ

  1. 作成したPlayerControllerスクリプトをプレイヤーオブジェクトにアタッチします。
    • プレイヤーオブジェクトを選択し、インスペクターウィンドウにスクリプトをドラッグ&ドロップします。

3. 実行と動作確認

  1. プレイヤーオブジェクトがコインに触れると、スコアが加算され、コインオブジェクトが削除されることを確認します。
  2. スクリプトが正しく動作している場合、Consoleウィンドウにスコアが表示されます。

Unity

Posted by hidepon