Menu
CoddyTech

コインが戻ってくる

CoddyのUnityジャーニー「物理演算とゲームプレイ」セクションの一部。レッスン 31/71。

challenge icon

チャレンジ

中級

取得したコインがrespawnDelay秒後に戻るようにします。

  1. Coin.csで、using System.Collections;とpublic float respawnDelay = 3f;を追加します。
  2. IEnumerator Respawn()を記述します。GetComponent<Renderer>().enabledとGetComponent<Collider>().enabledをオフにし、respawnDelay秒待ってから、両方をオンにします。
  3. gameObject.SetActive(false);をStartCoroutine(Respawn());に置き換えます。非アクティブなオブジェクトはコルーチンを実行しないためです。

「プレイ」を押してコインを取得すると、3秒後に戻ってきます。その後、「確認」を押します。

自分で試してみよう

using UnityEngine;

public class Coin : MonoBehaviour
{
    public int value = 1;

    void OnTriggerEnter(Collider other)
    {
        if (other.CompareTag("Player"))
        {
            other.GetComponent<Ball>().AddScore(value);
            gameObject.SetActive(false);
        }
    }
}

物理演算とゲームプレイのすべてのレッスン

自分で練習してみよう: Unityプレイグラウンド