今天我们要学习的是Unity 4.6 uGUI的点击事件,这是我找的一篇关于Unity 4.6 uGUI的点击事件的博文,希望大家有帮助。

自带的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,接下来我们写一个脚本来实验点击事件。
方法一:
  1. using UnityEngine;
  2. using System.Collections;
  3. using UnityEngine.UI;
  4. public class testclick : MonoBehaviour
  5. {
  6. // Use this for initialization
  7. void Start ()
  8. {
  9. Button btn = gameObject.GetComponent<Button>();
  10. btn.onClick.AddListener(click);
  11. }
  12. void click()
  13. {
  14. Debug.Log ("Mouse Click");
  15. }
  16. }

实现效果:


方法二:


实验结果:


怎么样一点也不难吧!
下面咱们学习的稍微再深入点:
6,建一个buttonClick.cs
  1. using UnityEngine;
  2. using System.Collections;
  3. using UnityEngine.UI;
  4. using UnityEngine.Events;
  5. public class buttonClick : MonoBehaviour {
  6. // Use this for initialization
  7. void Start ()
  8. {
  9. Button btn = gameObject.GetComponent<Button>();
  10. btn.onClick.AddListener(
  11. delegate()
  12. {
  13. for(int i=0;i<10;i++)
  14. {
  15. onClick(i);
  16. }
  17. });
  18. }
  19. public void onClick(int index)
  20. {
  21. Debug.Log (index);
  22. }
  23. }

实验结果:

                        

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