Включение и отключение объекта в коде С# Unity2d
Как можно сделать так, чтобы при соприкосновении Player с Coins1, выключался Coins1 и включался Coins, и также при соприкосновении Player с Coins, выключался Coins и включался Coins1, и т.д.?
У меня получается сделать только один такой круг, дальше зацикливается на Coins.
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.CompareTag("Player"))
{
gameObject.SetActive(false);
if (Coins1.activeSelf == false)
{
Coins.SetActive(true);
}
if (Coins.activeSelf == false)
{
Coins1.SetActive(true);
}
}
}
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
Один из многих вариантов:
Я бы сделал отдельный обьект-менеджер который бы этим занимался.
И это выглядело бы как-то так:
public class CoinManager: MonoBehavior {
private static GameObject coin1;
private static GameObject coin2;
void Start() {
//тут ищем на сцене и присваиваем обьекты коинов
//реализуй сам
coin2.SetActive(false);
}
public static void Switch() {
if ( coin1.active )
{
coin2.SetActive(true);
coin1.SetActive(false);
}
else if ( coin2.active )
{
coin1.SetActive(true);
coin2.SetActive(false);
}
}
}
а дальше мы из необходимого скрипта вызываем CoinManager.Switch()