Unity 4.6 uGUI的点击事件
今天我们要学习的是Unity 4.6 uGUI的点击事件。我找到一篇相关博文,希望对大家有所帮助。目前,自带的uGUI功能相关资料还不是很完善。我今天刚安装了Unity 4.6,想看看uGUI是否好用,那么现在就开始今天的学习吧!
操作步骤
1. 新建一个空的工程
首先,在Unity中创建一个全新的空项目,为后续操作搭建基础环境。
2. 打开Unity自带的UI系统
在新建的工程中,找到并打开Unity自带的UI系统,以便后续创建UI元素。
3. 创建UI -> Canvas
在UI系统中,创建一个Canvas。这里简单说明一下,Canvas本质上是用于布局的容器。创建Canvas后,你会发现场景中多了一个EventSystem(事件系统)。
- EventSystem的作用:EventSystem是一种将基于输入的事件发送到应用程序中对象的机制,这些输入可以来自键盘、鼠标、触摸或自定义输入设备。
- EventSystem的组成:EventSystem由多个共同发送事件的组件组成。
- 详细介绍:可参考EventSystem官方文档。
4. 创建一个Panel(可选)
接下来,你可以选择创建一个Panel。创建Panel有助于对UI空间进行管理,不过这并非必需步骤,可根据个人喜好决定是否创建。
5. 创建一个Button
在完成上述步骤后,创建一个Button。这样,基本的UI元素就创建完成了。
悬浮效果
在创建好Button后,还可以为其设置悬浮效果,不过本文暂不详细展开,后续可根据需求进一步探索。
编写脚本实现点击事件
方法一
以下是实现点击事件的第一种方法的代码:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class testclick : MonoBehaviour
{
// Use this for initialization
void Start ()
{
Button btn = gameObject.GetComponent<Button>();
btn.onClick.AddListener(click);
}
void click()
{
Debug.Log ("Mouse Click");
}
}
实现效果:当点击Button时,控制台会输出“Mouse Click”。
方法二
下面是第二种方法的代码:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
using UnityEngine.Events;
public class buttonClick : MonoBehaviour {
// Use this for initialization
void Start ()
{
Button btn = gameObject.GetComponent<Button>();
btn.onClick.AddListener(
delegate()
{
for(int i=0;i<10;i++)
{
onClick(i);
}
});
}
public void onClick(int index)
{
Debug.Log (index);
}
}
实验结果:当点击Button时,控制台会依次输出0到9的数字。
从上述实验可以看出,委托在处理点击事件时也非常实用。好了,大家可以现学现卖,一起共同学习进步!