Задать вопрос
  • Почему не работает триггер в юнити 3д?

    @Alexsix
    Попробуй написать
    void OnTriggerStay (Collider myTrigger)

    Destroy(gameObject);
    И эту строчку лучше изменить на эту:
    Destroy(myTrigger.gameObject);
    //Для уничтожения входящего в триггер объекта
    Ответ написан
    Комментировать
  • Почему не срабатывает функция CloseClick?

    @Alexsix
    public Transform SortList, SelectedSortsList;
    public SortController Prefab;
    public GameObject Close;
    
    public void Show()
    {
        foreach (var sort in Mixer.Instance.Sorts)
        {
             var s = Instantiate(Prefab, SortList);
             s.Show(sort);
        }
        gameObject.SetActive(true);
    }
    
    public void CloseClick()
    {
        Close.SetActive(false);
    }


    Вся проблема в том, что переменная Close определяется как компонент. И надо изменить Button на GameObject.

    Когда ты пишешь
    public Button a;

    Ты подразумеваешь, что а - это переменная хранящая компонент.

    А тем более когда ты пытаешься этой строчкой:
    Close.gameObject.SetActive(false);

    Присвоить функции gameObject'a на компонент, то есть ты пытаешься компонент Close использовать как gameObject, а компонент и gameObject это не одно и тоже.

    CloseClick() лучше перенести в void Start, или использовать метод поддерживаемый юнити (OnTriggerEnter, OnCollisionEnter и тд)
    Ответ написан
    Комментировать