NGUI如何获取组件?

在Unity中获取UI组件的方法很多,大致常用的主要有一下几种:


方法1:引用物体

声明Public GameObject变量,然后在Start()等函数里面进行获取组件,代码形式 如下(以获取UIButton为例):

Public GameObject targetObject;

void Start(){
UIButton theButtonComponent  = targetObject.GetComponent<UIButton>();
}
然后将相应的GameObject拖动到targetObject对应的引用进行保存即可。


方法2:引用组件

声明一个Public类型的具体的组件类型(UIButton,UISprite,UILabel等),后将GameObject拖上去保存组件的引用即可。(注意这里所拖进去的GameObject必须拥有该类型的组件)。如下声明所示:

Public UIButton theButtonComponent;

方法3:寻找子物体

j首先将脚本挂载到UIRoot下面,然后通过FindChild方法来逐级进行寻找,将方法1进行修改为下面形式:

Public UIButton target_Button;
void Start(){
target_Button = tansform.FindChild("Button").GetComponent<UIButton>();
}

方法4:GameObject.Find()方法

此静态方法虽然最简单但是相当于一个完全搜索,会耗费较多的时间,不推荐。代码形式如下:

void Start(){
 UIButton theButtonComponent = GameObject.Find("UIButton");
}




方法5:GameObject.FindWithTag()方法

void Start(){
 UIButton theButtonComponent = GameObject.FindWithTag("UIButton");
}
这种方法性能上比GameObject.Find()稍快,但是会涉及到标签场景中Tag的管理和使用会增加复杂性不利于项目的维护,不推荐使用。









  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值