Нужно получить объект, точнее его значение и 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);
}
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 Также нужно учитывать размер ячейки и количество ячеек(И возможно еще ряд факторов, но зависит от реализации)
Продвижение своими сайтами как стратегия роста и независимости