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

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

Unity3d脚本编程_的更多相关文章

  1. unity3d脚本编程

    一 创建和使用脚本 1 概述 GameObject的行为都是被附加到其上面的组件控制,脚本本质上也是一个组件. 在unity中创建一个脚本,默认内容例如以下: using UnityEngine; u ...

  2. Unity3D脚本编程--基本概念

    1. 简单介绍 在Unity3D中,游戏对象(GameObject)的行为是由附加其上的脚本来控制的,游戏开发人员通过编写脚本来控制游戏中的全部对象,如移动Camera等. GameObject能够被 ...

  3. 【浅墨Unity3D Shader编程】之一 夏威夷篇:游戏场景的创建 & 第一个Shader的书写

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨)  ...

  4. 【浅墨Unity3D Shader编程】之二 雪山飞狐篇:Unity的基本Shader框架写法&颜色、光照与材质

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40955607 作者:毛星云(浅墨)  ...

  5. 【浅墨Unity3D Shader编程】之中的一个 夏威夷篇:游戏场景的创建 & 第一个Shader的书写

    本系列文章由@浅墨_毛星云 出品.转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/40723789 作者:毛星云(浅墨)  ...

  6. [转]unity3d 脚本参考-技术文档

    unity3d 脚本参考-技术文档 核心提示:一.脚本概览这是一个关于Unity内部脚本如何工作的简单概览.Unity内部的脚本,是通过附加自定义脚本对象到游戏物体组成的.在脚本对象内部不同志的函数被 ...

  7. Unity3D脚本调用Objective C代码实现游戏内购买

    0.开篇吐槽: 一年之内从WP转到iOS,又从iOS转到U3D,真心伤不起. 1.Unity3D脚本调用OC代码的原理: 其实也没啥神秘的,因为OC是和C互通的 ,C#又可以通过DllImport的形 ...

  8. Linux shell脚本编程基础之练习篇

    shell脚本编程基础之练习篇. 1.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. #!/bin/bash ] then echo "请输入一个参数& ...

  9. Unity3D脚本中文系列教程(十六)

    Unity3D脚本中文系列教程(十五) ◆ function OnPostprocessAudio (clip:AudioClip):void 描述:◆  function OnPostprocess ...

随机推荐

  1. C# .NET Winform等程序一运行就闪退 不同环境 换到其他电脑,例如XP之类的解决方法。

    我现在写标题就跟写tag一样,方便大家索引. 有时候经常会把.NET写的程序拿到其他客户机,发现直接闪退,啥也不报错..那就很蛋疼,又不可能去装IDE来检测是吧,网上还有很多说啥看系统日志的,什么图标 ...

  2. 005_awk案例实战

    一.工作经验总结. (1)日志案例: 10.100.194.39 10.100.194.39 1019-03-16T11:01:04+08:00 www.uuwatch.com^^3FF91DE01B ...

  3. 读SRE Google运维解密有感(一)

    前言 这几天打算利用碎片时间读了一下"SRE Google运维解密"这本书,目前读了前几章,感觉收获颇多,结合自己的工作经历和书中的要点,写一些感悟和思考 SRE 有关SRE我就不 ...

  4. Android Studio 超级简单的打包生成apk

    为什么要打包: apk文件就是一个包,打包就是要生成apk文件,有了apk别人才能安装使用.打包分debug版和release包,通常所说的打包指生成release版的apk,release版的apk ...

  5. webstrom里面的html页面设置

    代码: <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8 ...

  6. HTML中的锚点设置和table格式

    锚点设置: <a href="#1">锚点</a> <a name="1"></a> table表格格式: &l ...

  7. MySQL 命令行工具不能向表中插入中文的解决方法

    1.报错图示 解释:sname这个字段 解析出错. 2.解决方法 打开MySQL的安装目录,找到my.ini文件,把57和81行的utf8改成gbk后 保存,最后,重启MySQL的服务 即可. 3.测 ...

  8. 浅谈Spring MVC知识

    关于MVC框架,我相信大家都不陌生,都会说也就是模型-视图-控制器这三层的框架结构,如果你参加面试的时候考官会问:“MVC框架是什么?你说一说.”其实我们都知道这个问题还需要问的,只要你是一个开发人员 ...

  9. Python 动态生成多个变量

    引用自:https://blog.csdn.net/u013061183/article/details/78015673 用Python循环创建多个变量, 如创建 a1=   .a2=   .a3= ...

  10. 汇编之 eax, ebx, ecx, edx, esi, edi, ebp, esp??

    一般寄存器:AX.BX.CX.DXAX:累积暂存器,BX:基底暂存器,CX:计数暂存器,DX:资料暂存器 索引暂存器:SI.DISI:来源索引暂存器,DI:目的索引暂存器 堆叠.基底暂存器:SP.BP ...