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 //即使没有找到相应函数,也不会报错,自动忽略

//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);
} 

 

 

posted @ 2014-05-08 11:24  softimagewht  阅读(1522)  评论(0)    收藏  举报