UNITY - сделать игровой объект неактивным и активным - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть игровые объекты - кнопка (называемая плиткой), когда кнопка нажата, она будет неактивной, и есть условие для проверки, если условие истинно, кнопка будет уничтожена, но если она ложна, кнопка вернетсяв активное состояние.

Мой сценарий диспетчера игр (Условие):

public void checkword()
 {
     wordBuilded = displayer.text.ToString();

     if (txtContents.Contains(wordBuilded))
     {
         Debug.Log(wordBuilded + " Is on the list");
         wordScore++;
         Debug.Log(wordScore);
     }
     else
     {        
         Debug.Log("Someting is wrong..");
         FindObjectOfType<LetterTiles>().tileStatus();
     }

 }

В сценарии «Моя кнопка (плитка)» (сценарий, прикрепленный ккнопки):

public void letterClick()
 {
     gameManager.currentWord += letter;
     gameObject.SetActive(false);

 }

 public void tileStatus()
 {
    gameObject.SetActive(true);
 }

1 Ответ

0 голосов
/ 27 ноября 2018

Когда объект деактивирован, Unity не найдет его, используя FindObjectOfType.

, либо сохраните локальную ссылку на объект [кнопку] в игровом менеджере, прежде чем отключить его, либо спрячьте кнопку вдругим способом.

Поскольку вы используете кнопку, вы можете использовать свойство кнопки interactable, чтобы сделать ее отключенной [и если вы хотите, чтобы она была скрытой, то измените отключенный цвет на прозрачный], как:

gameobject.GetComponent<Button>().interactable = false;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...