Menu
CoddyTech

Монеты возвращаются

Часть раздела Физика и игровой процесс путешествия по Unity на Coddy. Урок 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