我已按照本教程创建一个简单的时钟:http://catlikecoding.com/unity/tutorials/clock/
一切都很完美,但教程中有一个用于数字和模拟显示的内部开关。现在我想添加一个简单的按钮“ingame”来将bool切换为true / false。
我怎样才能实现这一目标? 谢谢!
答案 0 :(得分:1)
在脚本中添加一个方法来更改模拟值。
public void OnClick()
{
analog = !analog;
}
在场景中创建一个按钮并确保它在画布下,选择按钮,然后将脚本拖到OnClick()部分。从下拉列表中选择您的OnClick()方法。
您可以从此处添加多个点击事件,此方法可让您轻松查看按钮附加的方法,而无需查看代码,这些代码会随着时间的推移变得复杂。
答案 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 ) ;
}