Unity-3D Toggle选择框

当选择框被选中时返回的是布尔值
Bool Toggle(rect, bool(),string);
Bool Toggle(rect, bool(),image);

例如

public class Toggle : MonoBehaviour
{
    private bool toggle0;
 void OnGUI()
    {
        toggle0 = GUI.Toggle(new Rect(10, 40, 100, 20), toggle0, " A. 3");
     }
}
        

选择框一般用于选择题
但是选择题是单选时,在选中一个选项的同时需要将其他选项取消选择

private bool[] ischange = new bool[] { false, false, false, false };

首先定义数组用来保存每个选择框的状态

此时要提到一个函数

GUI.changed

如果任何控件更改了输入数据的值,则返回true。

用此代码来完成单项选择

if (GUI.changed)
        {
            if (toggle0 && !ischange[0])
            {
                toggle1 = false;
                toggle2 = false;
                toggle3 = false;
                ischange = new bool[] { true, false, false, false };
            }
            if (toggle1 && !ischange[1])
            {
                toggle0 = false;
                toggle2 = false;
                toggle3 = false;
                ischange = new bool[] { false, true, false, false };
            }
            if (toggle2 && !ischange[2])
            {
                toggle1 = false;
                toggle0 = false;
                toggle3 = false;
                ischange = new bool[] { false, false, true, false };
            }
            if (toggle3 && !ischange[3])
            {
                toggle1 = false;
                toggle2 = false;
                toggle0 = false;
                ischange = new bool[] { false, false, false, true };
            }
        }

你可能感兴趣的:(Unity-3D Toggle选择框)