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

} 



 

 

你可能感兴趣的:(message)