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

Unity解决脚本之间相互调用的几种方法

2015-08-07 00:02 453 查看
经常看到论坛里面有问,unity中脚本怎么调用另一个脚本,或者unity里面的有没有事件管理器等等,下面我们可以看看unity解决脚本相互调用的几种方法

1. 直接引用

最基本调用另一脚本的办法。通常项目中使用在一个预制体的内部,该模块完全由自己负责基本不对外耦合,操作方式简单在Inspector中拖拽即可。

[AppleScript] 纯文本查看 复制代码

?
优点:
简单高效,编辑器中直接可见。

缺点:

脚本间强耦合

一个脚本的变化可能带来链式反应

也容易出现"Null ReferenceException"异常

2. 单例模式

mvc的基础,能有效的解决多对一调用需求

[AppleScript] 纯文本查看 复制代码

?
优点:

mvc结构,逻辑结构清晰,

有效解决了多对一的调用需求

缺点:

要保证单例的构造比子模块的构造早

单例的生命周期要控制好

单例类后期会变得极其臃肿

3. SendMessage,BroadCastMessage

unity4.6前的自带事件系统,基本解耦,以字符串的形式发送消息。ps:

[AppleScript] 纯文本查看 复制代码

?
优点:

低耦合,调用方便。

缺点:

不言而喻基本没什么程序员爱用,效率较低,

以字符串的形式调用不是类型安全的, 出错调试起来十分困难
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: