Как менять спрайт у кнопки при нажатии на нее

Совсем недавно начал создавать игру на юнити и столкнулся с проблемой. Как сделать чтобы при нажатии на кнопку у нее менялся спрайт. В теории понимаю, но не хватает знаний. Уже кучу информации перечитал и все равно не получается


Ответы (1 шт):

Автор решения: Максим Фисман

Какой-то простой вопрос. Неужели не нашли в Интернете?

public Sprite newSprite;

public void OnClick () {
    GetComponent<Image>().sprite = newSprite;
}
  • newSprite - спрайт после нажатия.
  • Скрипт с этим кодом вешаем на кнопку.
  • В компоненте Button нажимаем +, указываем объект самому себе, выбираем правее метод OnClick().

Если у вас кнопка реализована не через компонент Button, а через BoxCollider2D, то скрипт будет:

private void OnMouseDown () {
    GetComponent<Image>().sprite = newSprite;
}

Просто вешаем скрипт на кнопку и все.

→ Ссылка