【Unity开发】NGUI,UGUI按钮监听的动态添加与移除

来源:互联网 发布:视频观看软件 编辑:程序博客网 时间:2024/06/07 10:03
Ugui:
using UnityEngine;using System.Collections;using UnityEngine.UI;/// <summary>/// 脚本位置:UGUI的按钮身上/// 脚本功能:动态的添加按钮的点击事件/// </summary>public class ListenerTest : MonoBehaviour {private Button button ;void Start () {button = GetComponent<Button>();button.onClick.AddListener(delegate() {TestButtonClick testClick = GameObject.FindObjectOfType<TestButtonClick>();testClick.OnClickButton();});}}
<pre name="code" class="csharp">using UnityEngine;using System.Collections;/// <summary>/// 脚本位置:摄像机身上/// 脚本功能:当点击按钮的时候动态的添加此脚本上的OnClickButton方法/// </summary>public class TestButtonClick : MonoBehaviour {// Use this for initializationvoid Start () {}// Update is called once per framevoid Update () {}public void OnClickButton(){Debug.Log("已经成功监听按钮的点击事件");}}


NGUI:

using UnityEngine;using System.Collections;/// <summary>/// 脚本位置:NGUI的Button身上/// 脚本功能:监听事件的添加和取消/// 创建时间:2015年11月18日/// </summary>public class Listener : MonoBehaviour{// Use this for initializationvoid Start (){//  给Button按钮添加监听事件EventDelegate.Add (GetComponent<UIButton> ().onClick, AddOnClick);}// Update is called once per framevoid Update (){}public void AddOnClick (){Debug.Log ("按钮的监听事件添加成功");}// 取消NGUI按钮的监听事件public void CancelOnClick (){EventDelegate.Remove (GetComponent<UIButton> ().onClick, AddOnClick);}}


1 0
原创粉丝点击