Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как сделать спавнер машин?

Про Грамист Ученик (95), на голосовании 1 месяц назад
Всем привет разработчики на Unity!
Я столнулся с проблемой с C#.
Я делал спавнер машин чтобы когда столнулся с машиной она проподала и появлялась новоя.
И когда я написал я столкнулся с проблемой то что когда машина пропала система её не может заспавнить. Тогда я сделал префаб машины но тогда у же система не смогла удалить её как она префаб вот код:

 using System.Collections; 
using System.Collections.Generic;
using UnityEngine;

public class Destroy : MonoBehaviour
{

public GameObject obj;


IEnumerator OnTriggerEnter(Collider other)
{
Destroy(obj);
yield return new WaitForSeconds(5);
Quaternion rot = Quaternion.Euler(0, 265.718f, 0);
Instantiate(obj, new Vector3(249.3844f, 5.295916f, 160.4755f), rot);
}
}
Голосование за лучший ответ
Terel Профи (741) 2 месяца назад
Попробуйте сделать так. Одна из ошибок то, что вы делаете это все в корутине. Зачем вы удаляете объект и спавните уже удаленный объект? Попробуйте удалить объект, который достиг триггера
 using System.Collections; 
using System.Collections.Generic;
using UnityEngine;

public class Destroy : MonoBehaviour
{
public GameObject obj;

void OnTriggerEnter(Collider other)
{
Destroy(other.gameObject); // Удаляет объект, который вызывает триггер
StartCoroutine(SpawnObject());
}

IEnumerator SpawnObject()
{
yield return new WaitForSeconds(5);
Quaternion rot = Quaternion.Euler(0, 265.718f, 0);
Instantiate(obj, new Vector3(249.3844f, 5.295916f, 160.4755f), rot);
}
}
В случае если в вашей игре триггер будет удалять другие объекты, то добавьте условия с тегом
Похожие вопросы