В настоящее время я делаю игру в Unity, в которой пытаюсь уничтожить клоны префаба только после того, как они покидают вид из камеры, только после того, как они уже вошли в вид из камеры.Однако по какой-то причине мой код мгновенно уничтожает клонов, как только они создаются.Кто-нибудь знает, как я мог решить эту проблему?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class InteractControl : MonoBehaviour
{
Rigidbody2D rb;
GameObject target;
float moveSpeed;
Vector3 directionToTarget;
// Use this for initialization
void Start()
{
target = GameObject.Find("White Ball");
rb = GetComponent<Rigidbody2D>();
moveSpeed = 3f;
}
// Update is called once per frame
void Update()
{
MoveInteract();
OnBecameVisible();
}
/*void OnTriggerEnter2D(Collider2D col)
{
switch (col.gameObject.tag)
{
case "ColouredBall Highress":
BallSpawnerControl.spawnAllowed = false;
Destroy(gameObject);
target = null;
break;
case "Star":
Collision collision = new Collision();
break;
}
} */
void MoveInteract()
{
if (target != null)
{
if(ScoreScript.scoreValue > 3)
{
directionToTarget = (target.transform.position - transform.position).normalized;
rb.velocity = new Vector2(directionToTarget.x * moveSpeed,
directionToTarget.y * moveSpeed);
}
else
{
directionToTarget = new Vector3(0, -1, 0);
rb.velocity = new Vector2(0, directionToTarget.y * moveSpeed);
}
}
else
rb.velocity = Vector3.zero;
}
void OnBecameInvisible()
{
if (gameObject.tag == "ColouredBall Highress")
{
Destroy(gameObject);
}
if (gameObject.tag == "Star")
{
Destroy(gameObject);
}
}
void OnBecameVisible()
{
if (gameObject.tag == "ColouredBall Highress" || gameObject.tag == "Star")
{
OnBecameInvisible();
}
}
}
Я пытался решить эту проблему, сначала попросив объекты стать видимыми, чтобы они могли разрушаться, когда они находятся вне поля зрения камеры.,Короче я ищу версию коллайдера OnExit для OnBecameInvisible.Я думаю, я мог бы сделать весь экран коллайдером и использовать на нем выходной коллайдер.Кто-то может также знать, как я мог бы сделать коллайдер, который покрывает вид камеры?