вы можете использовать onClick
для вызова метода при нажатии кнопки.
public Button btn;
void Start () {
btn.onClick.AddListener(ChangeColor);
}
или просто используйте редактор, список OnClick, просто обратите внимание, что для этого метод, который вы хотите вызвать, должен быть публичным
![enter image description here](https://i.stack.imgur.com/NjM8P.jpg)
, если , вы просто хотите выделить кнопку, которая нажата в данный момент, и когда пользователь нажимает на другую кнопку, другая кнопка подсвечивается, и эта кнопка возвращается к своему обычному цвету, тогда эта опция просто выполнима вредактор, просто установите цвет подсветки кнопки в редакторе
![enter image description here](https://i.stack.imgur.com/dK0YC.jpg)
, но , если вы хотите, чтобы кнопки меняли свои цвета после нажатиядля них, и это изменение является постоянным, тогда
вы можете просто изменить цвет свойства 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;
}