我们正在与Unity合作开展一个学校项目,Unity对我们来说是一个新环境,C#对我们来说是一种新语言。
我们在为 Unity UI 中的切换按钮编写脚本时遇到问题。本质上,我们要检查是否已单击切换按钮,然后激活路径对象,使它们可见。
我们正在使用Toggle.interactable
脚本作为切换按钮。我们知道,如果单击切换开关,您必须使用SetActive(true)
来激活路径,但我们不确定应该使用什么来检查它是否是。
> 切换发出一个名为onValueChanged
的事件,每当切换值更改时都会触发该事件。您将侦听此事件,检查它是否已变为 true,并将游戏对象设置为活动状态。因此,在将侦听此事件的脚本中,我们将设置一个侦听器。文档中修改的示例
public class Example : MonoBehaviour
{
Toggle m_Toggle;
void Start()
{
//Fetch the Toggle GameObject
m_Toggle = GetComponent<Toggle>();
//Add listener for when the state of the Toggle changes, to take action
m_Toggle.onValueChanged.AddListener(delegate {
ToggleValueChanged(m_Toggle);
});
}
//Output the new state of the Toggle into Text
void ToggleValueChanged(Toggle change)
{
//Activate your game object
}
}
在脚本中获取切换按钮并使用isOn
布尔值。使用以下脚本在运行时观察值。
public Toggle myToggle;
void Update()
{
print("Current Toggle State : " + myToggle.isON);
}