Button
按钮是UGUI中十分常用的控件,其功能也十分简单,点击按钮就会有相应的按下显示效果,同时触发一个回调函数。
Button
控件是一个复合结构的游戏对象,默认创建的Button
控件对象结构如下:
显示效果如图:
其中,Button
对象上包含了Image
组件,其中包含了按钮的背景图片;Text
对象则是一个文本控件,其中包含了按钮的文字。如果我们的按钮没有文字,是一个纯的图片按钮,将Text
直接删除也是没问题的。
Button
组件包含的字段如图,其中Target Graphic
为按钮的图像,按钮按下、选中等具有相应的效果,这些效果会叠加显示到这个目标图像上。此外,我们还可以指定按钮点击的回调事件。
下面例子中,我们编写了一个按钮点击的回调函数,点击按钮时会在控制台上打印相应的调试信息。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ButtonDemo : MonoBehaviour
{
public void HandleButtonClick()
{
Debug.Log("按钮被点击了");
}
}
实际上,我们也可以使用C#代码为按钮绑定回调函数,这种情况适用于动态生成的按钮等情况,下面代码是一个简单的例子。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class ButtonDemo : MonoBehaviour
{
public Button button;
private void Awake()
{
button.onClick.AddListener(HandleButtonClick);
}
public void HandleButtonClick()
{
Debug.Log("按钮被点击了");
}
}