unity3d 特殊文件夹和脚本编译顺序
unity3d 特殊文件夹和脚本编译顺序
转自http://blog.csdn.net/u010019717/article/details/40474631
大多数情况下,您可以选择任何你喜欢的文件夹在您的项目的名称,但unity储备一些名称以指示内容有一个特殊的用途。这些文件夹中有些会影响脚本编译的顺序。从根本上说,有四个单独的脚本编译,将编译脚本的阶段由其父文件夹决定。
这是重要的情况下,脚本必须引用在其他脚本中定义的类。基本的规则是在编译阶段后的任何东西不能被引用。任何编译中的当前阶段或更早的阶段是完全可用。
另一种情况发生时写的一种语言脚本必须提到另一种语言 (譬如说,声明在 C#脚本中定义的类变量的 UnityScript文件) 中定义的类。这里的规则是被引用的类必须在较早前的阶段已经编译过。
编译阶段如下:-
第 1阶段:运行脚本文件夹中的称为Standard Assets,ProStandard Assets和Plugins.
第 2阶段:编辑器Editor脚本文件夹中的称为StandardAssets/Editor,Pro Standard Assets/Editor andPlugins/Editor.
第 3阶段:不在Editor文件夹内的所有其他脚本.
第四阶段:所有剩余的脚本 (即,那些被称作Editor编辑器的文件夹内).
此外,将不在所有编译任何脚本内一个名为WebPlayerTemplates的 Assets文件夹上一级文件夹。这种行为是略有不同,也在子文件夹内工作的特殊文件夹名称 (例如,Scripts/Editor工作作为编辑器脚本文件夹中但Scripts/WebPlayerTemplates 不会阻止编译)。
一个常见的例子是UnityScript文件需要引用一个 C#文件中定义类的地方。您可以通过在非特殊文件夹中放置的 C#文件的Plugins文件夹内和UnityScript文件来达到这个。如果你不这样做,你将会得到错误,并说找不到的C# 类。
unity3d 特殊文件夹和脚本编译顺序的更多相关文章
- unity 脚本编译顺序
根据官方的解释,它们的编译顺序如下: (1)所有在Standard Assets.Pro Standard Assets或者Plugins文件夹中的脚本会产生一个Assembly-CSharp-fil ...
- Unity之脚本编译顺序
根据官方的解释,它们的编译顺序如下: (1)所有在Standard Assets.Pro Standard Assets或者Plugins文件夹中的脚本会产生一个Assembly-CSharp-fil ...
- Unity特殊目录和脚本编译顺序
特殊目录和脚本编译顺序 大多数情况下,您能够选择不论什么你喜欢的目录在您的项目的名称.但unity储备一些名称以指示内容有一个特殊的用途.这些目录中有些会影响脚本编译的顺序.从根本上说,有四个单 ...
- MyEclipse部署项目到Tomcat上,但是classes文件夹下没有编译项目
在MyEclipse中把项目部署到Tomcat上,但是Tomcat下的classes文件夹下没有编译项目解决方法:1-直接在点击菜单栏的Project--clean,对项目进行clean2-查看菜单栏 ...
- Tomcat的webapps目录下的classes文件夹下缺失编译好的.class文件原因及其解决方法
右键,选择BuildPath: 可以编辑Output folder,指定编译后的文件的存放目录,一般是target/classes目录
- C#文件和文件文件夹按时间、名称排序-顺序与倒序
对于文件和文件夹有多种排序方式,常用的就是按创建或修改时间.按文件名排序.在 C# 中,按时间和文件名排序都十分简单,用数组提供的排序方法 Array.Sort() 一行代码就可以搞定,当然也可以用常 ...
- 写个批处理脚本来帮忙干活--遍历文件夹&字符串处理
这次打算写几篇关于脚本方面的博客,主要是记录一下 Gradle 脚本和批处理脚本的一些写法,方便后续查阅. 前言 平常开发过程中,一些较为重复的手工性工作,如果能让脚本来帮忙处理,自然是最好的,刚好之 ...
- Android——4.2.2 源代码文件夹结构分析
近期公司要整android内部培训,分配给我写个培训文档.这里记录例如以下: 撰写不易,转载请注明出处:http://blog.csdn.net/jscese/article/details/4089 ...
- idea--忽略隐藏文件、文件夹的设置操作
文章由来 公司同事在群里问了个问题,如下: 为了大家看清,将图特意贴出来: 这人还删除idae重装了下,哈哈,才到群里问的. 解决思路(按顺序) 1.我让他直接拉会,共享桌面我给看了下,首先是open ...
随机推荐
- CocoaLumberjack
刚学iOS时候,调试找问题的时候一般就两种方式. 1.输出NSLog日志. 2.打断点,一步一步查看问题,查找崩溃点所在的方法,再进一步查看崩溃具体原因,稍微高级一点的就在控制台用命令打印各种参数. ...
- php 快速排序法
function quicksort(array $arr = array()){ $len = count($arr); if ($len > 1) { $key = $arr[0]; $l_ ...
- pip高级使用技巧以及搭建自己的pypi服务器
========================= pip 访问非官方pypi源, 以及代理的设置=========================在Windows下安装某些Python的C ext ...
- SqlServer 还原他服数据库只建立发布却删除不了
本想做测试,从另一台服务器备份数据库还原到本机. 创建了一个发布,却删除不了,提示如下图: 参考论坛:http://bbs.csdn.net/topics/300046417 发现是数据库所有者问题, ...
- Linux 中常见的命令行,持续更新
1.添加自己的环境变量 root@adonis:~# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin r ...
- GATK软件介绍
背景介绍 GATK全称是The Genome Analysis Toolkit,是Broad Institute(The Broad Institute, formerly the Broad Ins ...
- Ubuntu10.04下安装Ns2的一系列错误及解决方案
安装之前改一下nam1.11下的agent.h文件73行 Null改为0 第一个错误: xxx configuration: Syntax error: Unterminated quoted str ...
- Hadoop 面试题之storm 3个
Hadoop 面试题之八 355.metaq 消息队列 zookeeper 集群 storm集群(包括 zeromq,jzmq,和 storm 本身)就可以完成对商城推荐系统功能吗?还有其他的中间件? ...
- 【PHP面向对象(OOP)编程入门教程】22.把对象串行化serialize()方法,__sleep()方法,__wakeup()方法
有时候需要把一个对象在网络上传输,为了方便传输,可以把整个对象转化为二进制串,等到达另一端时,再还原为原来的对象,这个过程称之为串行化(也叫序列化), 就像我们现在想把一辆汽车通过轮船运到美国去,因为 ...
- Android连接蓝牙耳机播放音乐
参考: Android实现主动连接蓝牙耳机 具体实现: private static final String TAG = "BluetoothA2DPTest"; private ...