У кнопки UI в Unity есть местоположение? - PullRequest
0 голосов
/ 12 апреля 2019

Я хотел сделать игру, в которой вы нажимаете кнопку, и она влияет на другую кнопку.Я сделал сетку.Если я нажимаю кнопку в этой сетке, я хочу, чтобы она влияла на изображение другой кнопки.Однако мне нужен какой-то идентификатор сортировки, который говорит мне, какая кнопка какая.

enter image description here

Я использовал префабы для кнопки, затем сделал префаб сетки 5x10из этих сборных.Любое руководство в правильном направлении было бы полезно, даже если оно не отвечает на вопрос, спасибо.

1 Ответ

1 голос
/ 12 апреля 2019

Это можно легко сделать

Сначала давайте сделаем скрипт GridController.cs

Добавить ссылку на пространство имен пользовательского интерфейса вверху using UnityEngine.UI;

Теперь поместите все элементы сетки в родительский контейнер (может быть пустым игровым объектом)

Теперь давайте начнем кодировать

//Reference parent gameobject
[SerializeField]
private GameObject gridContainer;

//List of all child elements
private List<Button> gridObjects = new List<Button>();

private void Start(){
  //Loop through all children
  for(int i = 0; i < gridContainer.transform.childCount; i++){
    //Add button to list
    gridObjects.Add(gridContainer.transform.getChild(i).gameObject.GetComponent<Button>());
  }

  //Set listeners for buttons

  for(int i = 0; i < gridObjects.Count;i++){
    gridObjects[i].onClick.AddListener(delegate{
      DoSomething();
    });
  }
}

private void DoSomething(){
  //Do Something
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...