Задать вопрос
WasTabon
@WasTabon

Почему игра зависает при OnCollisionEnter?

public class Spawning : MonoBehaviour
{
    public bool Isspawn;

    public GameObject prefabToSpawn;

    public Transform left;
    public Transform right;

    public Rigidbody2D rigidbody2D;

    private void Awake()
    {
        rigidbody2D = gameObject.GetComponent<Rigidbody2D>();
    }
    private void Start()
    {
        StartCoroutine(spawn());
    }
    private IEnumerator spawn()
    {
        while (true)
        {
            if (Isspawn)
            {
                float timeRand = Random.Range(0.5f, 1f);
                yield return new WaitForSeconds(timeRand);
                float randomPos = Random.Range(left.position.x, right.position.x);
                Instantiate(prefabToSpawn, new Vector3(randomPos, left.position.y, 0), Quaternion.identity);
            }
        }
    }
    private void OnCollisionEnter2D(Collision2D coll)
    {
        if (coll.gameObject.CompareTag("Player"))
            Isspawn = true;
        rigidbody2D.bodyType = RigidbodyType2D.Dynamic;
    }
    private void OnCollisionExit2D(Collision2D coll)
    {
        if (coll.gameObject.CompareTag("Player"))
            Isspawn = false;
        rigidbody2D.bodyType = RigidbodyType2D.Static;
    }
}
  • Вопрос задан
  • 39 просмотров
Подписаться 1 Простой 3 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы