Как проверить, присутствует ли компонент кнопки в пользовательском интерфейсе Unity? - PullRequest
0 голосов
/ 20 декабря 2018

Я новичок в Unity, и мне было интересно, можно ли проверить, присутствует ли компонент кнопки в сцене, это похоже на тест пользовательского интерфейса.

Я пытаюсь сделать это с помощью пользовательского интерфейса Unity.Инструмент автоматизации тестирования.

Ответы [ 2 ]

0 голосов
/ 20 декабря 2018

Хотя ответ zyonneo правильный, GameObject.Find может быть медленным, если в игре много объектов.

Вместо этого я бы искал компонент кнопки в дочерних элементах canvas.Для этого вам понадобится ссылка на родительский холст вашей кнопки.

public GameObject MyCanvas;

void Start(){
    if(MyCanvas.GetComponentInChildren<Button>() != null){
         Debug.Log("Button found");
    else {
         Debug.Log("Button not found");
    }
}

Если вам нужна дополнительная информация о том, как наиболее эффективно найти игровой объект, я рекомендую вам прочитать эту тему на Unity Formus.

0 голосов
/ 20 декабря 2018

Добавьте код, в котором вы хотите проверить, присутствует ли кнопка в Иерархии. Если вы добавили кнопку на холст, ее можно найти с помощью приведенного ниже кода. Просто введите точное имя кнопки.

По умолчанию, когда вы добавляете кнопку, она будет иметь имя «Кнопка», поэтому ищите по этому параметру. Вот я добавляю кнопку, щелкая правой кнопкой мыши, а затем переименовывая ее в «Btn01»

if(GameObject.Find("Btn01")!= null)
    {
        Debug.Log("Button is Present in Hierarchy");

    }
    else
    {
        Debug.Log("Button Not Present");

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