Не работает SetActive()
Не удается в принципе реализовать SetActive() для окна InputField, в VS он подчеркивается красной линией, а при сохранении скрипта не удается запустить игру. В других скриптах не фигурирует, game object назначен в инспекторе. С чем это может быть связано?
using UnityEngine;
using UnityEngine.UI;
public InputField AnswerField;
void Start()
{
AnswerField.SetActive(false);
}
private void OnTriggerEnter2D(Collider2D co)
{
if (co.tag=="name")
{
AnswerField.SetActive(true);
}
}
Ответы (2 шт):
Автор решения: Andrew
→ Ссылка
SetActive - метод GameObject-a.
using UnityEngine;
using UnityEngine.UI;
public GameObject AnswerField;
void Start()
{
AnswerField.SetActive(false);
}
private void OnTriggerEnter2D(Collider2D co)
{
if (co.tag=="name")
{
AnswerField.SetActive(true);
}
}
Автор решения: Yaroslav
→ Ссылка
SetActive это метод GameObject.
gameObject.SetActive(true);
InputField это MonoBehaviour, а не GameObject.
MonoBehaviour это КОМПОНЕНТ для GameObject.
Не путать тёплое с мягким !!!
У компонентов есть ссылка на GameObject, к которому они принадлежат.
AnswerField.gameObject.SetActive(true);