Подсветка выделенной ячейки в сетке в единстве - PullRequest
0 голосов
/ 21 мая 2018

Я использую панель как сетку и готовый макет кнопки. Я могу прикрепить событие для кнопки, но не могу понять, как выделить эту кнопку, когда пользователь нажимает на эту кнопку.. Есть ли способ изменить цвет фона этой кнопки-клона, когда пользователь нажимает на нее?

1 Ответ

0 голосов
/ 21 мая 2018

вы можете использовать onClick для вызова метода при нажатии кнопки.

 public Button btn; 
    void Start () {
        btn.onClick.AddListener(ChangeColor);
    }

или просто используйте редактор, список OnClick, просто обратите внимание, что для этого метод, который вы хотите вызвать, должен быть публичным
enter image description here

, если , вы просто хотите выделить кнопку, которая нажата в данный момент, и когда пользователь нажимает на другую кнопку, другая кнопка подсвечивается, и эта кнопка возвращается к своему обычному цвету, тогда эта опция просто выполнима вредактор, просто установите цвет подсветки кнопки в редакторе
enter image description here

, но , если вы хотите, чтобы кнопки меняли свои цвета после нажатиядля них, и это изменение является постоянным, тогда

вы можете просто изменить цвет свойства image кнопки, открыв его свойство Image и установив его цвет на то, что вы хотите.

void changeColor(){
pButton.GetComponent<Image>().color = yourColor;
}

если вам не нужно менять цвет изображения, которое используется в кнопке, но вы хотите изменить кнопку normalcolor, сначала сохраните предыдущие цвета, а затем просто установите новый цвет на normalcolor

Я также думаю, что если вы хотите использовать этот метод, лучше также изменить highlightedColor, потому что после нажатия кнопки, после того, как она перейдет к нажатому цвету в течение секунды, она будет вводитьсясостояние highlighted, пока вы не нажмете на другую кнопку, так что, я думаю, будет лучше, если вы поменяете оба цвета

public void ChangeColor()
{
    ColorBlock colorBlock = btn.colors;
    colorBlock.normalColor = Color.blue;
    colorBlock.highlightedColor = Color.blue;
    btn.colors = colorBlock;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...