Unity3d脚本编程_

UnityEngine.Component引入了新的成员,如下:

                                                       新引入的成员                           作用                                
字段                   gameObject                                                               该组件所在的游戏对象
字段           tag 游戏对象的标签
字段        transform添加到该游戏对象上的Transform组件

公共方法有,

  • 1、BroadcastMessage:  调用该组件所在的游戏对象以及子对象身上所有Monobehaviour中定义的叫做methodName的方法,其中methodName是BroadcastMessage的一个参数;
  • 2、CompareTag:返回该游戏对象是否被标签标记
  • 3、GetComponent:若对象身上有对应类型的组件,则返回一个对应的该类型的组件,否则为null
  • 4、GetComponentInChildren:同上,限定条件为对象本身和其子对象
  • 5、GetComponentInParent:同3,只不过条件为父对象
  • 6、GetComponents:同3,或者所有该类型的组件,返回处理
  • 7、GetComponentsInChildren:同6,只不过对象是子对象及其本身
  • 8、GetComponentsInParent:同6,对象是本身和父对象
  • 9、SendMessage:调用该组件所在的游戏对象身上所有Monobehaviour中定义的叫做methodName的方法,其中methodName是BroadcastMessage的一个参数;
  • 10、SendMessageUpwards:调用该组件所在的游戏对象以及基类身上所有Monobehaviour中定义的叫做methodName的方法,其中methodName是BroadcastMessage的一个参数;

扩充下,BroadcastMessage的API:

举个栗子:在摄像机下建几个子对象,然后身上分别挂相同脚本(便于区分)

        

然后,脚本如下:挂在脚本后传入不同值,以便区分;

总结: 
目标对象及其子孙对象上如果有接收方法,就会被执行 
方法可以接收参数,也可以不接收参数 
设置RequireReceiver,目标对象上必须有指定的接收方法,否则会报错 

BroadcastMessage方法有两个重载版本,可以直接通过方法名调用,或者给与传递值调用含有参数的方法;

注意点:另若脚本里有方法名相同,一个带有参数,另一个不带参数,那么当调用含参数的方法时,总无法调用成功。不知道是不是限制......

 

转载于:https://www.cnblogs.com/allyh/p/9356096.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值