找回密码
 立即注册
查看: 3144|回复: 82

[基础] Unity3D 脚本编译的顺序

[复制链接]
发表于 2012-11-27 11:19 | 显示全部楼层 |阅读模式
资源信息 Tutorial Information
教程名称: Unity3D 脚本编译的顺序(发帖教程)
适用引擎:   (适用引擎,为空默认为Unity)
教程语种: 中文
教程等级: 1
教程格式: 图文(请用IE9以上浏览器访问本版块)
教程作者: 转载自互联网 (如有问题请短消息联系作者或发表回复)
下载地址: (兑换积分)
点击查看原图
美丽分割线
脚本编译在4个步骤中执行:

1.所有在"Standard Assets", "Pro Standard Assets" 或 "Plugins"的脚本被首先编译。

在这些文件夹之内的脚本不能直接访问这些文件夹之外脚本。不能直接引用或它的 变量,但是可以使用GameObject.SentMessage与它们通信。




2.所有在"Standard Assets/Editor", "Pro Standard Assets/Editor" 或 "Plugins/Editor"的脚本被首先编译。

如果你想使用UnityEditor命名空间你必须放置你的脚本在这些文件夹中,例如添加菜单项或自定义的向导,你都需要放置脚本到这些文件夹。这些脚本可以访问前一组中的脚本。




3.然后所有在"Editor"中的脚本被编译。

如果你想使用UnityEditor命名空间你必须放置你的脚本在这些文件夹中。例如添加菜单单项或自定义的向导,你都需要放置脚本到这些文件夹。这些脚本可以访问所有前面组中的脚本,然而它们不能访问后面组中的脚本。这可能会是一个问题,当编写编辑器代码编辑那些在后面组中的脚本时。有两个解决方法:1、移动其他脚本到"Plugins"文件夹 2、利用JavaScript的动态类型,在javascript中你不需要知道类的类型。在使用GetComponent时你可以使用字符串而不是类型。你也可以使用SendMessage,它使用一个字符串。




4.所有其他的脚本被最后编译

所有那些没有在上面文件夹中的脚本被最后编译。所有在这里编译的脚本可以访问第一个组中的所有脚本("Standard Assets","ProStandard Assets" or "Plugins")。这允许你让不同的脚本语言互操作。例如,如果你想创建一个JavaScript。它使用一个C#脚本;放置C#脚本到"Standard Assets"文件夹并且JavaScript放置在"Standard Assets"文件夹之外。现在JavaScript可以直接引用c#脚本。放置在第一个组中的脚本,将需要较长的编译时间,因为当他们被编译后,第三组需要被重新编译。因此如果你想减少编译时间,移动那些不常改变的到第一组。经常改变的到第四组。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2012-11-30 12:16 | 显示全部楼层
这个 貌似 不错 谢谢分享
发表于 2013-1-12 23:06 | 显示全部楼层
不太理解,新手难啊
发表于 2017-3-4 18:13 | 显示全部楼层
真心顶
发表于 2017-3-4 17:41 | 显示全部楼层
难得一见的好帖
发表于 2017-3-4 17:34 | 显示全部楼层
说的非常好
发表于 2017-3-4 18:01 | 显示全部楼层
不错不错
发表于 2017-3-4 17:34 | 显示全部楼层
LZ真是人才
发表于 2017-3-15 17:14 | 显示全部楼层
很不错
发表于 2017-3-15 17:17 | 显示全部楼层
顶顶多好
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-4-29 21:47 , Processed in 0.101185 second(s), 31 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表