Пятница, 29 Ноября 2024, 02:22

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Как скрывать и показывать элементы при условии
RobitIДата: Четверг, 02 Марта 2023, 00:09 | Сообщение # 1
был не раз
Сейчас нет на сайте
У меня в игре есть 5 разных объектов и игрок, при прикосновении к 1 из объектов, получает значение переменной данного объекта. Проблема в том, что у меня не получается сделать событие, которое должно скрывать определённый объект в зависимости от значения переменной игрока связанной с переменной объекта, а остальные объекты - показывать. Как мне это исправить?
Код для получения переменной из объекта:
Код
public class TransformMarks : MonoBehaviour
{
    public GameObject Form;
    public string Element;
    private void OnTriggerEnter2D(Collider2D collision)
    {
        if (collision.gameObject.tag == "Player")
        {
            PlayerTransform.CurrentElement = Element;
            Debug.Log(PlayerTransform.CurrentElement);
        }
    }
}


Код события скрытия и показа объектов:
Код
public class PlayerTransform : MonoBehaviour
{
    public static string CurrentElement = "Earth";
    public static GameObject TransfMark;

    void Update()
    {
        if(CurrentElement == "Fire")
        {
            TransfMark = GameObject.Find("FireTransform");
            Destroy(TransfMark);
        }
        else
        {
            TransfMark = GameObject.Find("FireTransform");
            TransfMark.gameObject.SetActive(true);
        }
    }
}
falcowareДата: Четверг, 02 Марта 2023, 00:20 | Сообщение # 2
старожил
Сейчас нет на сайте
gameObject1.SetActive(true);
gameObject2.SetActive(false);
gameObject3.SetActive(false);
gameObject4.SetActive(false);
gameObject5.SetActive(false);

В каждом объекте хайдишь остальные. А что делать?
RobitIДата: Пятница, 03 Марта 2023, 00:13 | Сообщение # 3
был не раз
Сейчас нет на сайте
falcoware, спасибо, переписал код и всё работает.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг