U3D关于message的使用

Message相关有3条指令:

SendMessage
("函数名",参数,SendMessageOptions) //GameObject自身的Script

BroadcastMessage
("函数名",参数,SendMessageOptions)  //自身和子Object的Script

SendMessageUpwards ("函数名",参数,SendMessageOptions)  //自身和父Object的Script

用于向某个GameObject发送一条信息,让它完成特定功能。
其实本质是调用那个GameObject里面的Script里面的函数,可以跨语言的,例如Javascript可以调用C#的函数,我已实验成功。

☆另外,如果GameObject本身有两个脚本,例如“move1”和“move2”,两个脚本内有同名函数例如“moveMe()”,会两个函数都执行一次。

第三个参数使用:

SendMessageOptions.RequireReceiver //如果没有找到相应函数,会报错(默认是这个状态)

SendMessageOptions.DontRequireReceiver //即使没有找到相应函数,也不会报错,自动忽略

?





1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

//test01.js

function playTest(n:int)

{

    print("test01 play!!!!!No."+n);

}

//testMessage.js

var objA:GameObject;

var n=0;

function Update()

{

     n++;

    objA.SendMessage("playTest",n);

}

时间: 2024-08-23 06:41:58

U3D关于message的使用的相关文章

u3d做的第一个test:局域网聊天,移动

using UnityEngine; using System.Collections; public class server : MonoBehaviour { //端口號 int port =10000; //聊天信息 string Message = ""; //移動信息 string moveinfo = ""; //滾動視圖位置 Vector2 scrollPosition; // Use this for initialization void Sta

一次U3D DLL加密的记录(二)

上一篇文章一次U3D DLL加密的记录(一)已经介绍了Assembly-CSharp.dll的加密和打包方法,但每次都得导出安卓工程,接着替换资源,再导出apk,这样以来是非常繁琐的. 这篇文章主要针对windows下对u3d游戏的加密一键打包的介绍 主要步骤: ①:编译加密后的libmono.so ②:在自定义方法中对Assembly-CSharp.dll进行加密 ③:破解UnityEditor.Android.Extensions.dll,注入自定义方法 ④:一键打包 首先参考一下我的<一次

u3d局域网游戏网络(c# socket select 模型)

之前写了一篇. 发完之后第二天实际应用到游戏之后还是发现了一些小毛病. 比如网络模块有重复使用(多对象)的情况.所以将静态类该成了普通类. 比如安卓下会有些异常出现导致游戏逻辑不正常.所以网络相关的函数有些加了try块. 然后发现写入固定ip的方式根本不适合局域网.于是加了udp做的广播系统,用以服务器和客户端查找ip. udp广播部分和tcp不一样.因为没有连接,所以socket不需要shutdown.我在这里吃了一亏才知道. 别的没什么修改.贴上修正和扩展之后的代码. 有缘之人自取.唯一要求

c# socket select 模型代码(u3d)

其实写过多次网络链接.但是因为换了工作,又没电脑在身边,所以以前的代码都没办法翻出来用. 所以从今天起,一些常用的代码只好放到网上. 公司有一个局域网的游戏.本来想用u3d的rpc就可以完成.但是后来说要传语音.于是只要写一个tcp. 先给出服务器和客户端的socket代码段.其他依赖的一些文件,就不贴了. 目前完成的模块大的说就两块,网络和消息分发. 网络部分服务器有玩家池的管理. 网络部分没有想得很详细.因为是局域网,所以也不存在多大开销.如果有需要上千的需求,可能还要优化下代码结构以及锁.

[U3D 画起重机,绑脚本和控制它运动的基本操作]

之前在学习Unity3D,不知为何网上的教学资源真是少啊...我某段时间还卡在不知如何让物体绑个脚本自动运动.. 之所以要学习U3D是因为导师让我做的IOS项目里有个需要模拟起重机,从而控制真实起重机的动画(为何不是挖掘机)... 这里就总结下U3D的基础知识. ================================================== 1.Unity画物体 在左边的Hierarchy(层次)表处,找到Create,然后选择Cube.Mac系统也可以从上面菜单栏选择Ga

u3d:使用websocket最简单的测试通信

使用插件:besthttp 1.10 u3d版本:5.4.0 代码:找的网上的一篇代码,自己偷懒没写 只简单测试了下 using System.Collections; using System.Collections.Generic; using UnityEngine; using BestHTTP; using BestHTTP.WebSocket; using System; using BestHTTP.Examples; using UnityEngine.UI; using Sys

Handler和Message详解

Android开发中Handler的经典总结 当应用程序启动时,Android首先会开启一个主线程(也就是UI线程),主线程为管理界面中的UI控件,进行事件分发. 一.Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释:当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件, 进行事件分发, 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作.  如果此时需要

“intel_rapl: no valid rapl domains” message upon boot blacklist.conf -1

"intel_rapl: no valid rapl domains" message upon boot I install fresh Ubuntu 14. 04 server under ESXI 5.1.0.During my installation I did not get any erorrs or strange things. My problem is when I boot machine at console screen I get messages lik

hdu 4661 Message Passing(树形DP&amp;组合数学)

Message Passing Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 1187    Accepted Submission(s): 423 Problem Description There are n people numbered from 1 to n. Each people have a unique mes