unity的默认文件目录及脚本之间的执行顺序

在unity中,有几个默认的文件目录,这些目录对于开发者来说是非常重要的,今天记录一下这些目录的功能和一些相关的知识

大神雨松给出的帖子我个人觉得还是很有价值的,附上链接 http://www.xuanyusong.com/archives/3229

简书中一位大神也给出了详细的说明,而且附加上了文件的编译顺序:https://www.jianshu.com/p/e9d6f3bb69c5

大神对目录的解释,我自认为没有他们理解的更深,但是我亲测了一个问题,就是脚本的执行和文件夹有没有关系呢?

答案是没有关系,不同的脚本中的同一方法,例如Start()方法,按照常理来说,运行顺序是相同的,那么挂载在同一对象身上的脚本的start方法的执行顺序有什么决定呢?

答案是脚本挂载在对象上的时间来决定,先挂上去的脚本的start方法先执行,大家可以自己做一个实验验证一下我的结论。

当然,验证脚本的执行和文件夹的关系是愚蠢的,因为脚本说到底也是一种资源,放在仓库中的资源执行顺序和仓库又有什么关系呢?真正有关系的应该是unity对于文件夹的访问顺序吧。

原文地址:https://www.cnblogs.com/MNewLife/p/8496342.html

时间: 2024-10-09 12:44:01

unity的默认文件目录及脚本之间的执行顺序的相关文章

[Unity-20] Unity不同脚本之间的执行顺序

我们都知道,Unity中某个脚本的执行顺序是Awake.Start.Update.LateUpdate等,但是不同的脚本之间的执行顺序是怎样的呢? 例如我有两个脚本Script1和Script2,那么这两个脚本的Awake执行顺序是怎样的呢? 要知道真相我们就必须了解Unity后台的运行原理,其实Unity后台是单线程执行的,所谓的协程都是伪多线程.不同脚本的Awake在后台的执行真相是这样的: 后台Awake() { 脚本0Awake(); 脚本1Awake(); ........ } Sta

高性能网站优化-确保异步加载脚本时保持执行顺序

<高性能网站建设进阶指南> 脚本如果按照常规方式加载,不仅会阻塞页面中其他内容的下载,还会阻塞脚本后面所有元素的渲染.异步加载脚本可以避免这种阻塞现象,从而提高页面加载速度.但是性能的提升是要付出代价的.代码的异步执行可能会出现竞争状态.简单地说就是页面内部的脚本需要的标示符如果是在外部文件中定义的,而当外部文件异步加载的时候,如果没有保证外部文件和内部脚本执行顺序,很有可能会出现未定义标示符的错误 当异步加载的外部脚本与行内脚本之间存在代码依赖时,就需要通过一种保证执行顺序的方法来整合这两个

Java中动态代码块,构造代码块,静态代码块之间的执行顺序

Java中动态代码块,构造代码块,静态代码块之间的执行顺序 /** * Java中动态代码块,构造代码块,静态代码块之间的执行顺序 * @author Administrator * */ class HelloA { public HelloA() { System.out.println("HelloA"); } { System.out.println("I'm A class"); } static { System.out.println("st

unity脚本自带函数执行顺序

在unity的脚本中,有大量的脚本执行按照预先确定的顺序执行的事件函数,由于篇幅有限,无法一一列举,这里只列举一些常用的自带函数的顺序,并论述他们之间的区别. 在Unity脚本中常用到的函数就是下面这些,他们的顺序也是按照箭头的方向执行的. Awake ->OnEable-> Start -> FixedUpdate-> Update  -> LateUpdate ->OnGUI ->OnDisable ->OnDestroy 秉着实践是检验真理的唯一标准,

[js]变量声明、函数声明、函数定义式、形参之间的执行顺序

一.当函数声明和函数定义式(变量赋值)同名时 function ledi(){ alert('ledi1'); }; ledi(); var ledi = function (){ alert('ledi2'); }; ledi(); 执行顺序: var ledi: function ledi(){ alert('ledi1'); }; //预编译结束 ============== ledi(); ledi = function (){ alert('ledi2'); }; ledi(); 函数

静态代码块、非静态代码块、构造函数之间的执行顺序

1.执行顺序 静态代码块>非静态代码块>构造函数 public class staticCode { public staticCode() { System.err.println("构造函数"); } { System.err.println("非静态代码块"); } static{ System.err.println("静态代码块"); } public static void main(String[] args) { ne

Java_try,catch,finally return之间的执行顺序

以往认为函数只要执行到return语句便会返回结果并终止,然而这时错误的,因为这存在特例. 掌握下面几条原则就可以完全解决“当try.catch.finally遭遇return”的问题. 原则:1.finally语句块中的代码是一定会执行的,而catch块中的代码只有发生异常时才会执行. 2. 函数执行完try块中的return语句后不会终止,还会继续执行catch(仅在抛出异常时执行).finally语句块. 3.函数必须确保有唯一返回值 说明: try中如果包含return语句则catch块

unity脚本执行顺序详解

unity脚本自带函数执行顺序如下:将下面脚本挂在任意物体运行即可得到 Awake ->OnEable-> Start ->-> FixedUpdate-> Update  -> LateUpdate ->OnGUI ->Reset -> OnDisable ->OnDestroy using UnityEngine; using System.Collections; public class timetest : MonoBehaviour

Unity3d脚本执行顺序详解

欢迎来到unity学习.unity培训.unity企业培训教育专区,这里有很多U3D资源.U3D培训视频.U3D教程.U3D常见问题.U3D项目源码,我们致力于打造业内unity3d培训.学习第一品牌. 在调用脚本的时候遇到下面报错情况: NullReferenceException: Object reference not set to an instance of an object 意思就是:未将对象引用设置到对象的实例脚本内部的 Start()函数并不能作为构造的形式,因为在同一个对象