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 在线编辑器