我在脚本中定义了一系列切换。它们一开始就全部关闭。当用户单击其中一个开关时,该开关应打开,而其他开关应切换至关闭状态。基本上状态切换上只能有“一个”。我如何实现这一目标?
目前使用此脚本,当用户单击其中一个开关时,所有开关都会关闭。
public Toggle[] toggle;
void Start () {
for (int i = 0; i < toggle.Length; i++) {
int idx = i;
toggle[idx].onValueChanged.AddListener (delegate {
ToggleValueChanged (toggle[idx], idx);
});
}
}
public void ToggleValueChanged (Toggle change, int index) {
for (int i = 0; i < toggle.Length; i++) {
if (i == index) {
return;
} else {
if (toggle[i].isOn) {
toggle[i].isOn = false;
}
}
}
}
最佳答案
Unity 有一个名为 ToggleGroup 的组件,可以让您做到这一点。
ToggleContainer 父对象:
在每个 Toggle 组件中引用 ToggleGroup 对象如下:
场景层次结构:
概述:
关于c# - 当其中一个开关打开时切换其他开关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69251694/