Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Не работает скрипт на спрайт в канвасе

Максим Будейко Ученик (95), на голосовании 2 недели назад
Всех приветствую, случилась такая проблема. Создал канвас, закинул спрайт и сделал скрипт, чтобы при нажатии на объект спрайт удалялся. Проблема в том, что скрипт почему то не работает, скорее всего юнька не видит, что я кликаю по объекту в канвасе, вот код
public float startPosX;
public float startPosY;
public bool isBeingHeld = false;

private void Update()
{
if (isBeingHeld == true)
{

Destroy(gameObject);
}
}
private void OnMouseDown()
{
if (Input.GetMouseButtonDown(0))
{


Vector3 mousePos;
mousePos = Input.mousePosition;
mousePos = Camera.main.ScreenToWorldPoint(mousePos);

isBeingHeld = true;
}

}
private void OnMouseUp()
{
isBeingHeld = false;
}
Голосование за лучший ответ
Спартак Бендеров (SJBatya) Мыслитель (5164) 1 месяц назад
Метод OnMouseDown() срабатывает только для объектов с Collider'ом, т.е. не для UI он предназначен. В твоём случае на спрайт надо добавить компонент Button, в скрипте прописать публичные методы (название не важно) и добавить их в UnityEvent OnClick у кнопки.
Похожие вопросы