您的位置:首页 > 移动开发 > Unity3D

Unity SendMessage

2016-06-20 11:05 483 查看
转载:http://www.cnblogs.com/xpvincent/p/3195453.html

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);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unity sendmessag