1.首先看一下untiy官方对awake()和start()的定义函数
awake()和start()函数会在脚本加载后自动调用,awake()会先被调用,即便脚本未被调用。最好用来设置脚本之间的引用和初始化。对象
而start()在awake()以后调用,在第一次调用update()以前,但必须是脚本已经被启用的状况下,也就是说start()中写脚本启用后须要执行的操做,你也能够把一些初始化代码放在这里。blog
举个栗子,好比一个敌人进入场景,你能够用awake()设置子弹数量,而后在start()中启用敌人的射击功能,也就是在脚本启用后。(注:start和awake只能在脚本生命周期中调用一次)生命周期
总结:因此在进入脚本前咱们能够用awake()函数进行初始化,这样就不用在脚本中进行分别设置了,而start()方法用于脚本开始执行时须要的功能。it
2.关于update()和fixedup()的区别date
update()应该是unity中最经常使用的函数,使用这个函数的脚本每一帧都会自动调用,大部分须要周期性改变的内容都放置在这个函数中,非物理对象的移动,计时器,输入检测,一般都放在update()中,注意update()并不根据正常的时间轴调用,若是某一帧使用的时间大于下一帧,那么每帧调用的间隔将不一样,update()和fixedupdate()不一样,可是有几个重要的区别,fixedupdate()根据正常的时间轴调用,且每次调用的间隔都是相同的,在调用fixedupdate()函数以后会进行须要的物理计算,好比有刚体的物理对象,须要放在fixedupdate()中,fixedupdate()经常使用于移动物理对象。引用