unity课程1

xiaoxiao2021-02-28  15

一、脚本的生命周期

         含义:即脚本运行时什么时候调用某个函数。在什么时候运行什么脚本和函数完全由unity运行决定。

       awake在unity刚被加载到内存时调用。awake无条件执行。start的脚本必须勾选上,即onEnable执行,执行一次start初始化。脚本勾掉再勾选只执行enable不执行start。FixedUpdate执行时间固定可设置,前一帧和后一帧执行时间固定。yield WaitForFixedUpdate在运行到协成看一下就跑回去,相当于独立开了一个update函数,等待fixedupdate执行结束后返回。大部分的协成在update后执行。update由代码复杂程度(运算量)和电脑运行速度有关来执行,所以执行不固定。物理相关例如动画人物行走放fixedupdate里可保证人物行走流畅。ongui每帧执行次数不固定。脚本不勾选调用OnDisable。脚本销毁时执行OnDestroy,场景变换会脚本销毁。(从内存中除去)

     yield null相当于while循环的true。yield waitForSeconds等待时间,几秒等。yield startConutine是等待另一个协成。

二、多个脚本的执行顺序

       所有awake都在start前执行,start在update前执行。脚本顺序是由unity内部决定与怎么排无关。

      1.把定义的写awake中,使用的在start里。2.调整脚本运行顺序,脚本点击execution order,把脚本添加,给个数值,数值越小越先执行。

三、

四、多线程

一个事在多条线上做。协程可以理解为update的分支。想在某一个时刻做某事例如动画播放后播放另一个动画。不用协程:做个定时器,定时器到点播放动画,再做定时器两秒到了播放另一个动画。协程每一帧都调用,在update后调用。

  yield等于if语句,判断语句,满足条件往下执行,不满足返回。可以有多个yield。

转载请注明原文地址: https://www.6miu.com/read-450011.html

最新回复(0)