Монеты возвращаются
Часть раздела Физика и игровой процесс путешествия по Unity на Coddy. Урок 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);
}
}
}
Все уроки раздела Физика и игровой процесс
1Твёрдое тело
Гравитация и массаТолкаем с помощью AddForceПрыжок с импульсомFixedUpdate для физикиСкоростьКинематические телаПовторение: пусковая площадка4Корутины
InvokeInvokeRepeating, CancelInvokeВаша первая корутинаЦиклы в корутинахОстановка корутинПовторение: обратный отсчёт10Проект: Побег с арены
АренаОхотники2Столкновения
OnCollisionEnterВо что я попал?Разрушение при столкновенииСтояние на землеОтскок и трениеФормы коллайдеровПовторение: разрушаемая стена5Проект: Монетная гонка
Катящийся шарСобираем монетыПотренируйтесь самостоятельно: Песочница Unity