官方文档>GameObject

首先建立测试对象:

在Father中添加两个脚本(GameObejctTest和Target),分别用来发送Message和接受Message:

在其它GameObject中添加名为Target的脚本。

 using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class GameObjectTest : MonoBehaviour
{
// Start is called before the first frame update
public GameObject target;
void Start()
{
// target.SendMessage("Hello");
// target.BroadcastMessage("Hello");
// target.SendMessageUpwards("Hello");
}
void Hello()
{
Debug.Log("In GameObjectTest:" + target.name);
}
}
 using System.Collections;
using System.Collections.Generic;
using UnityEngine; public class Target : MonoBehaviour
{
public GameObject target;
void Hello()
{
Debug.Log("In Target:" + target.name);
}
}

分别依次执行:

  •   SendMessage:Calls the method named methodName on every MonoBehaviour in this game object.

      

    也就是当前发送端(Father)所在GameObject下的组件都接收到了Message,但是Son没有接收到,Others没有接收到,Ancestor也没有。

  •   BroadcasMessage:Calls the method named methodName on every MonoBehaviour in this game object or any of its children.

    

    这里可以看到所有的子类包括子类的子类都接收到了Message,要说明一点的是,组件(Component)也是属于GameObject的,所以也接收到了Message。

  •   SendMessageUpwards:Calls the method named methodName on every MonoBehaviour in this game object and on every ancestor of the behaviour.

    

    它的父类(Ancestor)接收到了消息,包括它本身。(这里说的是每一个父类都可以接收到Message,意思是如果Ancestor上还有类,那么它们都可以接收到Message)

通过返回结果不难发现,这三种方法都会调用Message发送给当前作用域内的接收方(也就是谁发送的,就会给自个儿发一份消息)。

Unity API学习笔记(2)-GameObject的3种Message消息方法的更多相关文章

  1. Unity API学习笔记(1)

    首先创建测试项目: 这里我选择了2D,其实都可以,之后可以在项目中修改. 修改方法: 进入正题. 首先看一下官方提供的>手册和>脚本API文档. 创建C#脚本文件并打开: 默认的脚本文件为 ...

  2. ASP.NET MVC Web API 学习笔记---第一个Web API程序

    http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html GetListAll /api/Contact GetListBySex ...

  3. Windows录音API学习笔记(转)

    源:Windows录音API学习笔记 Windows录音API学习笔记 结构体和函数信息  结构体 WAVEINCAPS 该结构描述了一个波形音频输入设备的能力. typedef struct { W ...

  4. Node.js API 学习笔记

    常用 API 学习笔记 url 函数 url.parse: 解析 url 地址 url.resolve: 向 url 地址添加或替换字段 url.format: 生成 url 地址 querystri ...

  5. Windows录音API学习笔记

    Windows录音API学习笔记 结构体和函数信息  结构体 WAVEINCAPS 该结构描述了一个波形音频输入设备的能力. typedef struct { WORD      wMid; 用于波形 ...

  6. 从零开始搭建.NET Core 2.0 API(学习笔记一)

    从零开始搭建.NET Core 2.0 API(学习笔记一) 一. VS 2017 新建一个项目 选择ASP.NET Core Web应用程序,再选择Web API,选择ASP.NET Core 2. ...

  7. Windows录音API学习笔记--转

    Windows录音API学习笔记 结构体和函数信息  结构体 WAVEINCAPS 该结构描述了一个波形音频输入设备的能力. typedef struct { WORD      wMid; 用于波形 ...

  8. TCP协议和socket API 学习笔记

    本文转载至 http://blog.chinaunix.net/uid-16979052-id-3350958.html 分类:  原文地址:TCP协议和socket API 学习笔记 作者:gilb ...

  9. C#可扩展编程之MEF学习笔记(三):导出类的方法和属性

    前面说完了导入和导出的几种方法,如果大家细心的话会注意到前面我们导出的都是类,那么方法和属性能不能导出呢???答案是肯定的,下面就来说下MEF是如何导出方法和属性的. 还是前面的代码,第二篇中已经提供 ...

随机推荐

  1. Jenkinsfile构建docker镜像

    pipeline { agent any stages { stage('preparation') { steps { echo "workspace: ${WORKSPACE}" ...

  2. Java中间消息件——ActiveMQ入门级运用

    先来说一说我们为什么要用这个东西啊! 比如,我们现在有这样了个问题要解决: 这样,我们就要用到中间消息间了 然后我们就说一下什么是中间消息间吧. 采用消息传送机制/消息队列 的中间件技术,进行数据交流 ...

  3. MySql入门知识(一)

    概述 MySQL是一个真正多用户,多线程结构化查询语言数据库服务器.MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL的SQL语言是用于访问数据 ...

  4. 16套java架构师,高并发,高可用,高性能,集群,大型分布式电商项目实战视频教程

    16套Java架构师,集群,高可用,高可扩展,高性能,高并发,性能优化,设计模式,数据结构,虚拟机,微服务架构,日志分析,工作流,Jvm,Dubbo ,Spring boot,Spring cloud ...

  5. 常用类-excel转csv

    public class ExcelFileHelper { public static bool SaveAsCsv(string excelFilePath, string destination ...

  6. PlayJava Day017

    今日所学: /* 2019.08.19开始学习,此为补档. */ 1.数组变量 a.数组变量是数组的管理者而非数组本身 b.数组必须创建出来然后交给数组变量来管理 c.数组变量之间的赋值是管理权限的赋 ...

  7. 松软科技web课堂:SQLServer之MIN() 函数

    MIN() 函数 MIN 函数返回一列中的最小值.NULL 值不包括在计算中. SQL MIN() 语法 SELECT MIN(column_name) FROM table_name 注释:MIN ...

  8. HTML <input> 标签的 accept 属性

    <form> <input type="file" name="pic" id="pic" accept="im ...

  9. automaticallyAdjustsScrollViewInsets

    参考链接: https://www.jianshu.com/p/a1987a7c11ba

  10. 【Gradle】Java Gradle 插件

    Java Gradle 插件 如何应用 apply plugin:'java' Java插件约定的项目结构 Project |--build.gradle |--src |--main |--java ...