コインに触れるとポイントが加算されるシステムの実装方法
この資料では、プレイヤーがコインに触れるとポイントが加算されるシステムを実装します。コインに IsTrigger
を設定し、トリガーイベントを使用してポイントを加算する方法を解説します。
目次
1. シーンの準備
プレイヤーオブジェクトの作成
- Unityエディタで
2D Object
>Sprite
>Square
を選び、プレイヤーオブジェクトを作成します。 - 名前を
Player
に変更します。 - プレイヤーオブジェクトに
Rigidbody2D
コンポーネントを追加します。 Box Collider2D
を追加します。
コインオブジェクトの作成
2D Object
>Sprite
>Circle
を選び、コインオブジェクトを作成します。- 名前を
Coin
に変更します。 - コインオブジェクトに
Circle Collider2D
を追加し、Is Triggerのチェックボックスをオンにします。 - コインのタグを
Coin
に設定します。- コインオブジェクトを選択し、インスペクターウィンドウで
Tag
>Add Tag...
を選び、新しいタグ「Coin」を作成し、コインに適用します。
- コインオブジェクトを選択し、インスペクターウィンドウで
2. スクリプトの作成
プレイヤーがコインに触れるとポイントが加算され、コインが削除される処理を実装します。
ステップ 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: スクリプトのアタッチ
- 作成した
PlayerController
スクリプトをプレイヤーオブジェクトにアタッチします。- プレイヤーオブジェクトを選択し、インスペクターウィンドウにスクリプトをドラッグ&ドロップします。
3. 実行と動作確認
- プレイヤーオブジェクトがコインに触れると、スコアが加算され、コインオブジェクトが削除されることを確認します。
- スクリプトが正しく動作している場合、
Console
ウィンドウにスコアが表示されます。
ディスカッション
コメント一覧
まだ、コメントがありません