Unity - 按钮切换值的事件

时间:2017-06-08 08:33:06

标签: c# button unity3d boolean

我已按照本教程创建一个简单的时钟:http://catlikecoding.com/unity/tutorials/clock/

一切都很完美,但教程中有一个用于数字和模拟显示的内部开关。现在我想添加一个简单的按钮“ingame”来将bool切换为true / false。

我怎样才能实现这一目标? 谢谢!

2 个答案:

答案 0 :(得分:1)

在脚本中添加一个方法来更改模拟值。

public void OnClick()
{
   analog = !analog;
}

在场景中创建一个按钮并确保它在画布下,选择按钮,然后将脚本拖到OnClick()部分。从下拉列表中选择您的OnClick()方法。

enter image description here

您可以从此处添加多个点击事件,此方法可让您轻松查看按钮附加的方法,而无需查看代码,这些代码会随着时间的推移变得复杂。

答案 1 :(得分:0)

在场景中(在画布下)添加Button,并在ClockAnimator脚本中添加以下代码。然后,拖动&将按钮游戏对象放在脚本的检查器中。

public UnityEngine.UI.Button button;

private void Start()
{
    // See https://docs.unity3d.com/ScriptReference/UI.Button-onClick.html
    if( button != null )
        button.onClick.AddListener( () => analog = !analog ) ;
}

您可以使用Toggle代替按钮来实现相同目标:

public UnityEngine.UI.Toggle toggle;

private void Start()
{
    // See https://docs.unity3d.com/ScriptReference/UI.Toggle-onValueChanged.html
    if( toggle != null )
        toggle.onValueChanged.AddListener( ( isOn ) => analog = isOn ) ;
}