金币会回来
本课属于 Coddy Unity 学习旅程的“物理与游戏玩法”单元。第 31 课,共 71 课。
挑战
中等收集到的金币会在 respawnDelay 秒后重新出现。
- 在
Coin.cs中,添加using System.Collections;和public float respawnDelay = 3f;。 - 编写
IEnumerator Respawn():关闭GetComponent<Renderer>().enabled和GetComponent<Collider>().enabled,等待respawnDelay,然后重新开启它们。 - 将
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 在线编辑器