zoukankan      html  css  js  c++  java
  • 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方法有两个重载版本,可以直接通过方法名调用,或者给与传递值调用含有参数的方法;

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

  • 相关阅读:
    P4165 [SCOI2007]组队
    CF575B
    SG函数胡乱一气
    CF280C Game on Tree
    AGC010F
    CF140E
    多功能的低功耗蓝牙可穿戴设备用于监测血液酒精浓度
    智能手环幕后的英雄
    图像处理实用资源
    15.12DataGridView分页显示
  • 原文地址:https://www.cnblogs.com/allyh/p/9356096.html
Copyright © 2011-2022 走看看