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

原创 2015年11月18日 17:57:57
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 initialization
	void Start () {
	
	}
	
	// Update is called once per frame
	void 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 initialization
	void Start ()
	{
		//  给Button按钮添加监听事件
		EventDelegate.Add (GetComponent<UIButton> ().onClick, AddOnClick);

	}
	
	// Update is called once per frame
	void Update ()
	{
	
	}

	public void AddOnClick ()
	{
		Debug.Log ("按钮的监听事件添加成功");
	}


	// 取消NGUI按钮的监听事件
	public void CancelOnClick ()
	{
		EventDelegate.Remove (GetComponent<UIButton> ().onClick, AddOnClick);
	}
}


版权声明:本文为博主原创文章,未经博主允许不得转载。

【NGUI】监听按钮除OnClick外其他事件的方法,附简易改编的UIButton类

大家好,我是雨中祈雨。一直以来,CSDN都是我最好的编程助手。这是我在CSDN的第一篇关于Unity3D的博客,其实也就是记录我在学习Unity3D时遇到的一些小问题从不懂到有所了解的过程。另一方面,...

unity3d NGUI 基础控件及添加监听事件

接下来我们讲解下UILabel,UILabel是用来显示文本的脚本,继承自UIWidget。我们创建一个label,属性如下图: 所有的label都需要Font才可正常工作。这个字体...

Unity之NGUIUIButton点击事件的带参传递

最近写的游戏中UI部分用的NGUI,感觉NGUI真心没UGUI好用啊,功能封装的不全,想要什么功能还得去翻源码。比如PopList加滑动。。。 今天说说UIButton的点击事件,最简单的拖动就不说...

NGUI基础之button(按钮)

1,button的创建;2,button组件的基本属性;3,button的事件监听

UGUI实现NGUI的UIEventListener功能

在unity中处理UI事件时,习惯了使用NGUI的UIEventListener,虽然UGUI也有AddListener,但是一个组件只能对应一个函数,不能在一个函数中同时处理多个事件,显得有些麻烦 ...

c# static变量的初始化

用static声明的变量或函数,都是属于类的,而不属于类对象,所以最好不要在类的构造函数中为static变量初始化(不需要初始化的就不用顾忌了,因为c#默认会给static变量初化得,比如staitc...
  • LH1963
  • LH1963
  • 2016年11月07日 15:41
  • 1684

Unity协程(Coroutine)原理深入剖析

尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com                  记得去年6月份刚开始实习的时候,当时要我写网络层的结构,用到了协程,当...
  • OnafioO
  • OnafioO
  • 2015年10月08日 21:43
  • 7596

Unity3D 学习笔记8 —— UGUI控制和按钮的监听系统

一、UGUI简介:         随着Unity原生UI系统UGUI日渐完善,如今在项目中使用UGUI相较于NGUI更为简单快捷,因为NGUI的基于深度(depth属性)层级管理机制和图集式图片管理...

Unity3D NGUI动态创建按钮

原创文章如需转载请注明:转载自 脱莫柔Unity3D学习之旅 QQ群:【119706192】 本文链接地址: Unity3D NGUI动态创建按钮 以动态创建服务器列表为例。 pu...

Unity3D NGUI动态创建按钮

以动态创建服务器列表为例。 public UIAtlas mAtlas; public UIFont mFont; public string mSriteName; pub...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Unity开发】NGUI,UGUI按钮监听的动态添加与移除
举报原因:
原因补充:

(最多只允许输入30个字)