unity获取物件组件常用方法总结

目录

 

一.利用脚本获取物体的方法

二.利用脚本获取组件的方法 

三.利用公开变量引用物体跟组件


 

一.利用脚本获取物体的方法

这里介绍两种方法

1.通过名称获取脚本

可以通过物体的名称直接获得物体,使用GameObject.Find()方法即可。

列如;我们需要在当前脚本,需要获得另外一个名为“object”的物体,具体内容如下

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5Lmg5L2_5oiR5b-r5LmQMTM=,size_15,color_FFFFFF,t_70,g_se,x_16

此时Ob便获得Object这个物体,以及这个物体身上的所有组件。

这个方法有两个弊端。

1.GameObject.Find(),无法找到未激活的物体

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5Lmg5L2_5oiR5b-r5LmQMTM=,size_8,color_FFFFFF,t_70,g_se,x_16

2.GameObject.Find()需要遍历场景的所有物体,从性能上看是十分低效的。

2.通过标签查找物体

可以通过物体的标签直接获得物体,使用GameObject.FindGameObjectWithTag()方法即可,可高效地查找物体。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5Lmg5L2_5oiR5b-r5LmQMTM=,size_20,color_FFFFFF,t_70,g_se,x_16

二.利用脚本获取组件的方法 

 获得某个物体后,我们就可以通过该物体获得它的每一个组件。利用GetComponent()方法。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5Lmg5L2_5oiR5b-r5LmQMTM=,size_16,color_FFFFFF,t_70,g_se,x_16

注意: 

  虽然Transform组件也可以用GetCompment()获得,但由于该组件太常见,因此可以通过transform字段访问到Transform组件。

并且,Unity为了方便,在同一物体上,从任何一个组件出发都可以直接获得其他组件,可以不需要先获得先获得游戏体。 

三.利用公开变量引用物体跟组件

首先在任意脚本,添加几个类型的变量。

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5Lmg5L2_5oiR5b-r5LmQMTM=,size_11,color_FFFFFF,t_70,g_se,x_16

然后查看Inspector窗口,脚本属性会多四个变量的编辑框,默认值为None(类型)

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5a2m5Lmg5L2_5oiR5b-r5LmQMTM=,size_7,color_FFFFFF,t_70,g_se,x_16 

我们只需要把需要的物体跟组件拖拽进去就可以,便可以引用。

注意:拖拽的物体一定要该目标变量的组件。

 

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值