При использовании сценария для скрытия и отображения определенных c спрайтов одним нажатием кнопки я получаю эти две ошибки. Assets\Scripts\ButtonLeft.cs(26,5): error CS1061: 'int' does not contain a definition for 'SetActive' and no accessible extension method 'SetActive' accepting a first argument of type 'int' could be found (are you missing a using directive or an assembly reference?)
Assets\Scripts\ButtonLeft.cs(22,8): error CS1061: 'int' does not contain a definition for 'activeSelf' and no accessible extension method 'activeSelf' accepting a first argument of type 'int' could be found (are you missing a using directive or an assembly reference?)
Предыдущие сообщения, некоторые из которых были опубликованы всего несколько недель назад, уверили меня, что activeSelf
был правильным способом проверить, был ли спрайт уже скрыт, и я использовал SetActive
раньше в этом проекте без проблем. Вот сценарий, который я пытаюсь запустить:
using System.Collections.Generic;
using UnityEngine;
public class ButtonLeft : MonoBehaviour
{
public void Click ()
{
if (23.activeSelf)
{
23.SetActive (false);
3.SetActive (true);
1.SetActive (false);
}
if (3.activeSelf)
{
23.SetActive (false);
3.SetActive (false);
1.SetActive (true);
}
if (1.activeSelf)
{
23.SetActive (true);
3.SetActive (false);
1.SetActive (false);
}
}
// Update is called once per frame
void Update()
{
}
}
Синтаксис каким-то образом неправильный? ActiveSelf - неправильный способ проверить, активен ли объект или нет?
Использование Unity 2019.4.5f1 Personal