码迷,mamicode.com
首页 > 其他好文 > 详细

Unity NGUI监听按钮点击事件的三种方法

时间:2014-07-31 20:27:07      阅读:687      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   os   strong   io   

 NGUI版本:3.6.5

1、直接实现OnClick方法:

  创建一个脚本,在脚本中实现OnClick()方法,绑定该脚本到按钮上,点击时就会实现OnClick函数内容;

2、使用SendMessage:

  选择按钮后,打开Component——NGUI——Interaction,选择Button Message,为按钮添加一个UIButton Message组件:

bubuko.com,布布扣

  然后设置UIButton Message中的参数即可:

    Target:接收按钮消息的游戏对象;

    Function Name:接收按钮消息的方法,拥有这个方法的脚本必须绑定在上面Target对象身上;

    Trigger:触发的事件,OnClick显然是一次点击。

    Include Children :是否让该对象的所有子对象也发送这个点击事件。

  即设置一个空对象,将所有的消息写在一个脚本中,赋值给空对象,给控件添加UIButton Message组件,将空对象拉入组件的Target,选择相应的Function Name(比如OnClick函数)即可。对于多个按钮来说,只需添加UIButton Message组件,选择相应的函数即可实现。

bubuko.com,布布扣

bubuko.com,布布扣

Test4脚本代码:

bubuko.com,布布扣
using UnityEngine;
using System.Collections;

public class test4 : MonoBehaviour
{
    // Use this for initialization
    void Start()
    {
    }
    
    // Update is called once per frame
    void Update()
    {    
    }

    void Button1Click()
    {
        Debug.Log("按钮1~~");
    }

    void Button2Click()
    {
        Debug.Log("按钮2~~");
    }

    void Button3Click()
    {
        Debug.Log("按钮3~~");
    }

}
Test4

 

3、使用UIListenner:

  这是推荐使用的方法。

  新建三个按钮:

  bubuko.com,布布扣

  把如下代码放到任意脚本中(放在类中没有测试过):

bubuko.com,布布扣
    void Awake()
    {
        // 获取按钮对象
        GameObject button1 = GameObject.Find("UI Root/Camera/Anchor/Panel/button1");
        // 设置这个按钮的监听,指向本类的Button1Click方法中
        UIEventListener.Get(button1).onClick = ButtonClick;

        GameObject button2 = GameObject.Find("UI Root/Camera/Anchor/Panel/button2");
        UIEventListener.Get(button2).onClick = ButtonClick;

        GameObject button3 = GameObject.Find("UI Root/Camera/Anchor/Panel/button3");
        UIEventListener.Get(button3).onClick = ButtonClick;
    }

    void ButtonClick(GameObject button)
    {
        Debug.Log("点击了"+button.name);
    }
View Code

  在这里创建一个脚本,添加上述代码,脚本绑定到Main Camera中,成功实现按钮的点击事件;

  参考链接:http://www.verydemo.com/demo_c352_i20841.html

注:

  参考链接中说明需要先为按钮添加一个UIEvent Listenner组件,即选择按钮后,打开Component——NGUI——Internal——Event Listener,为按钮添加一个UIEvent Listener组件,但是这里测试没有添加该组件也可以运行。如果无法实现按钮点击事件,可以添加该组件测试一下。添加UIEvent Listener组件操作如图:

bubuko.com,布布扣

Unity NGUI监听按钮点击事件的三种方法,布布扣,bubuko.com

Unity NGUI监听按钮点击事件的三种方法

标签:style   blog   http   color   使用   os   strong   io   

原文地址:http://www.cnblogs.com/vitah/p/3881356.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!