Получение объекта по нажатию. Unity

436
26 января 2017, 00:41

Нужно получить объект, точнее его значение и id по нажатию на 2d объект. Сами объекты выводятся в цикле при создании сцены, поэтому GameObject.Find не помогает, т к выводит только значение первого объекта. Перерыл все, что можно, ничего не помогает, выдает кучу ошибок. Приведенный ниже код ничего не выдает, а то что закомментировано выдает только значение первого объекта.

public GameObject getItem;
private string str;
void OnMouseDown(){
    str = getItem.GetComponent<sellItem>().value;
    //str = GameObject.Find("Image(Clone)").GetComponent<sellItem>().value;
    Debug.Log(str);
}
Answer 1

OnMouseDown - Вызовется в следующем случае:

OnMouseDown is called when the user has pressed the mouse button while over the GUIElement or Collider.

В твоем варианте примерно так:

  public class sellItem : MonoBehaviour
    {
       int id;
       string value;
       void OnMouseDown(){              
        Debug.Log(id + " " + value);
        }
    }

https://docs.unity3d.com/ScriptReference/MonoBehaviour.OnMouseDown.html

Как я понял ты используешь Image для объектов, вместо этого можешь использовать Button. В нем можно настроить событие OnClick.

Официальное видео по кнопке: https://www.youtube.com/watch?v=J5ZNuM6K27E

Что бы отследить клик по ячейке в матрице не обязательно создавать кучу кнопок. Можно найти по координатам клика. https://docs.unity3d.com/ScriptReference/Input-mousePosition.html Также нужно учитывать размер ячейки и количество ячеек(И возможно еще ряд факторов, но зависит от реализации)

READ ALSO
Инициализация структур C#

Инициализация структур C#

Почему в значимых типах C# необходимо инициализировать все поля, при наличии конструктора?

721
Для чего используется # (##) в url?

Для чего используется # (##) в url?

Никак не могу понять для чего используются # или ## в MVC проектеНажимаю кнопку и получаю url вида http://localhost:55555/example/exm/List##

337
Работа с SELECT и LIKE MySQL

Работа с SELECT и LIKE MySQL

Есть запрос к базе MySQL

414
Не подключается сертификат к telegram

Не подключается сертификат к telegram

Пытаюсь подключить сертификат к телеграм

695