в моем проекте Unity у меня есть скрипт, прикрепленный к паре префабов.Каждые несколько секунд появляется случайный сборный дом.Это часть моего прилагаемого скрипта:
private void OnCollisionEnter2D(Collision2D collision)
{
if (collision.transform.CompareTag("ground"))
{
if (transform.gameObject.name == "FallingKeule(Clone)")
{
Destroy(transform.gameObject);
}
if (transform.gameObject.name == "FallingHeart(Clone)")
{
Destroy(transform.gameObject);
}
if (transform.gameObject.name == "FallingCup(Clone)")
{
Destroy(transform.gameObject);
}
else
{
print("You lost a life!");
Player.GetComponent<Colliding>().LostLife();
Destroy(transform.gameObject);
}
}
}
Если GameObject создается случайным образом, и он падает на землю, и это "FallingKeule (Clone)" -> "(Clone)", потому чтопрефаб клонируется при инициализации. Код из
if (transform.gameObject.name == "FallingKeule(Clone)")
не готов!Остальной код сделан:
else
{
print("You lost a life!");
Player.GetComponent<Colliding>().LostLife();
Destroy(transform.gameObject);
}