代码改变世界

Unity 4.6 uGUI的点击事件

2014-12-01 17:46  wuzhang  阅读(6276)  评论(6编辑  收藏  举报

  因为Unity 4.6刚刚发布,自带的uGUI功能的相关资料还不是很完善,今天刚装的Unity 4.6,想看一下uGUI是否好用,那么开始就今天的学习吧啊!

1,新建一个空的工程。

2,打开Unity自带的UI系统。

3,创建UI->Canvas。 这里我就不在多介绍Canvas了,说白了就是布局的。大家会发现多了EventSystem(事件系统)。

  1,EventSystem 是一种将基于输入的事件发送到应用程序中的对象,无论是键盘、 鼠标、 触摸或自定义输入。

  2,EventSystem 由发送事件的几个组件共同组成。

详细介绍见:http://docs.unity3d.com/460/Documentation/ScriptReference/EventSystems.EventSystem.html

4,接下来该我们建一个Panel(也可不建,个人喜好),建个Panel我感觉便于空间的管理。

5,接下来就弄个BUtton出来,就OK了!

悬浮效果:

5,接下来我们写一个脚本来实验点击事件。

方法一:

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");
    }
}

实现效果:

 

方法二:

实验结果:

怎么样一点也不难吧!

下面咱们学习的稍微再深入点:

6,建一个buttonClick.cs

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);
    }
}

实验结果:

是不是委托也可以用到啊,好了,现学现卖,大家共同学习!