Когда вы используете raycast, вы должны установить коллайдер на свой спрайт
private void Update()
{
if (Input.GetMouseButtonDown(0))
{
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit2D hit = Physics2D.Raycast(ray.origin, ray.direction);
if (hit.collider != null) {
Debug.Log ("CLICKED " + hit.collider.name);
}
}
}
Это работает для меня в единстве 5.6
Примечание:"LeftClick" - это просто "GameObject", больше ничего, я назвал его так для лучшей идентификации:)
EDITED
Я тестирую этот метод для кнопки пользовательского интерфейса, но она не работает; поэтому я использовал другой подход. Для кнопки пользовательского интерфейса вы можете добавить слушателя так:
GameObject.Find ("YourButtonName").GetComponent<Button> ().onClick.AddListener (() => {
});