unity C# NGUI控件寻路径方法

unity中控制界面控件在脚本中有很多方法 

记录下 这个寻路径方法  这种方法稳定 不容易丢失对象


(前提:有NGUI插件)


首先右键创建一个creat- simple texture  通过 prefab tool 拖拽一个背景 再创建一个label 如:  我们的目的是通过脚本改变label的值


如图 我们创建了两个脚本 都放在Control-Background上,接下来,便是重要的部分了。theTest的代码如下;

 

 using UnityEngine;
using System.Collections;

public class theTest : MonoBehaviour {

	private UILabel namelabel;          //先私有声明NGUI中的控件类型

	
	void Awake(){                        //创建awake函数
		namelabel=transform.Find("Label").GetComponent
   
   
    
    ();     //寻址找到控件,如果找其子类,应加/ 如“label/labei1”
		playerInfo ._instance.OnPlayerInfoChanged += this.OnPlayerInfoChanged;    //新增实例
	}

	
	void OnDestroy() {                                                             //销毁实例,节省空间
		playerInfo._instance.OnPlayerInfoChanged -= this.OnPlayerInfoChanged;       
	}
	
	void OnPlayerInfoChanged(InfoType type){                                        
		if(type==InfoType.Name){                                     
			UpdateShow();
		}
	}

	void UpdateShow(){                                             //显示改变
		playerInfo info = playerInfo._instance;
		namelabel.text = info.Name.ToString ();
	}
}

   
   

PlayerInfo的代码:
using UnityEngine;
using System.Collections;

public enum InfoType{                                 //声明枚举
	Name,                                   
}

public class playerInfo : MonoBehaviour {
	public static playerInfo _instance;                          //创建实例

	private string _name;                                           //声明名字

	public delegate void OnPlayerInfoChangedEvent(InfoType type);  //创建委托
	public event OnPlayerInfoChangedEvent OnPlayerInfoChanged;     

	public string Name{
		get{
			return _name;
		}
		set {
			_name=value;
		}

	}

	void Awake(){
		_instance = this;
	}

	void Start(){
		Init ();
	}

	void Init(){
		this.Name= "hahaha";
		OnPlayerInfoChanged (InfoType.Name);
	}
}
 


完成:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值