我的c#学习之路(三)——Unity脚本生命周期

我的c#学习之路(三)——Unity脚本生命周期

在程序员的编译过程中,清晰明了的注释是至关重要的。这里我简单介绍一下单行注释,多行注释以及文档注释。
   1、单行注释:
   在需要进行较短的注释时使用,以“//”开头,以便和其他代码做区分。
   2、多行注释:
   以“/”开头,以“/”结束,通常注释的文字较多或者暂时废弃的多行代码采用多行注释标注。
   3、文档注释:
   文档注释是对c#中的类、类成员变量和方法进行注释的,在类、变量和方法前输入“///”即可。
   4、代码折叠:
   在代码比较多且比较混乱时,我们可以把一些代码折叠起来,要看的时候再展开。
   代码折叠以“#region”开头,以“#endregion”结束。
   下面进入正题
   Unity脚本生命周期
   在Unity脚本中,有许多事件函数,都在一个预约确定的顺序执行一个脚本,这个执行顺序描述如下。
   1.Editor(编辑器下)
   Reset:该函数在附加到对象后初始化脚本时的属性,也当重置命令使用。
   2. First Scene Load(第一个场景加载时)
   这些函数在第一个场景开始时调用,只调用一次。
   Awake:开始之前总是调用此函数,也只是在实例化对象之后调用(如果该脚本对象未**,则不执行,直到对象**)。
   Onenable:在对象被启用时调用该函数。
   Onlevelwasloaded:当一个新关卡被载入时此函数被调用
   3.Before the first frame update(第一帧更新)
   Start:在该脚本实例启用时的第一帧调用。
   4. In between frames(在帧数执行间)
   Onapplication Pause:当程序暂停时调用该函数。
   5. Update Order(更新)
   Fixedupdate:固定更新,它可以每帧多次调用。通常用于物理更新。
   Update:当 Monobehavior启用时,其 Update在每一帧被调用。
   LateUpdate :当Behavior启用时,其 LateUpdate在每一帧被调用,其更新在Update之后。
   6.Rendering渲染
   OnPreCull:在相机剔除场景之前调用此函数。相机可见的对象取决于剔除。
   OnPreCull0函数调用发生在剔除之前。
   On BecameVisible/On BecameInvisible:当对象在任意相机上可见(渲染)时调用
    OnBecameVisible, 当对象在所有相机上不可见(不渲染)时调用OnBecameInvisible。
   OnWillRenderObject:如果对象在所有相机上可见时持续调用,如果MonoBehavior被禁用,此函数将不被调用。
   OnpreRender:在相机开始渲染场景之前被调用,只有脚本被附加到相机并被启用时才会调用这个函数。
   OnRenderobject:在相机场景渲染完成后被调用,可以使用GL类或图形,
DrawMeshNow绘制自定义几何图形。
   OnPostRender:在相机开始渲染场景完成之后被调用,只有脚本被附加到相机并被启用时才会调用这个函数。
   OnRenderImage:当完成所有渲染图片后被调用,用来渲染图片后期效果。
   OnGUI:渲染和处理GUI事件时调用。
   OnDrawGizmos:用于在场景视图中绘制小图示(Gizmos),以实现可视化目的。
   7.Coroutines(协同程序)
正常协同程序是在 Update()函数后去运行,协同程序是一个函数,可以暂停执行给定YieldInstruction(收益率),直到完成。不同用途的协同程序如下。
我的c#学习之路(三)——Unity脚本生命周期******************************************************
我的c#学习之路(三)——Unity脚本生命周期
   yield :协同程序会在Update()函数的下一帧继续执行。
   yield WaitForSeconds:协同程序会延迟在指定时间后继续执行。
   yield WaitForFixedUpdate:协同程序会在FixedUpdate()函数的下一帧继续执行。
   yield WWW:协同程序会在WWW下载完成后继续执行。
   yield StartCoroutine:嵌套协同程序,会等待嵌套的协同程序执行完后继续执行。
   8. When the Object is Destroyed(当对象被销毁)
   OnDestroy:当MonoBehavior将被销毁时,这个函数被调用,该函数只会在预先已经被**的游戏物体上被调用。
   9.When Quitting(当退出时)
   OnApplicationQuit:在应用退出或者在编辑器里停止运行之前调用。
   OnDisable:当MonoBehavior禁用或者不**时,这个函数被调用。
Unity脚本生命周期流程图如图7-14所示。