Unity3d中SendMessage 用法简单笔记
2012-09-14 14:00
337 查看
主要作用,跨脚本、语言实现功能。
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);
}
//{ 题外话,“函数”一说,是我大学时期C++老师教的叫法,现在看很多资料会把它叫做“方法”(Method),“功能”(function),其实是同一样东西,只是不同语言不同叫法不同翻译而已,为了我的启蒙C++老师,我习惯叫它们做“函数”。 }
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);
}
//{ 题外话,“函数”一说,是我大学时期C++老师教的叫法,现在看很多资料会把它叫做“方法”(Method),“功能”(function),其实是同一样东西,只是不同语言不同叫法不同翻译而已,为了我的启蒙C++老师,我习惯叫它们做“函数”。 }
相关文章推荐
- Unity3d中SendMessage 用法简单笔记
- Unity3d中SendMessage 用法简单笔记
- Unity3d SendMessage 简单用法笔记
- 关于xib的一些简单用法(ios自学笔记)
- 【Unity3d】学习笔记(10)——第一人称控制器的简单实现
- 【Unity3D游戏开发学习笔记】(五)灵魂降临—Unity脚本的简单运用
- Unity3d插件]EasyTouch简单用法
- Unity3D笔记---简单的捕鱼小游戏
- Java复习笔记8【super的简单用法】
- 数据库学习笔记---connect by的简单用法
- unity3d射线的原理用法以及一个利用射线实现简单拾取的小例子
- [学习笔记]File类简单用法!
- [插件教程] Unity3D itween 缓动类简单用法解析教程插件下载
- QTableWidget的简单用法笔记。
- EXTJS4.0 treepanel 用法笔记~~创建简单的tree
- 【unity3d游戏开发之基础篇】unity3d射线的原理用法以及一个利用射线实现简单拾取的小例子
- 转载自马哥视频学习笔记---Linux Web服务器网站故障分析常用的命令之awk用法的简单示例
- 温故而知新--Linux学习笔记(二)实用的简单命令的简单用法
- [Unity3d插件]EasyTouch简单用法
- Message 用法简单笔记