Unity(八)脚本生命周期

脚本生命周期

  • 也叫做必然事件/消息Message
  • 脚本是一个类(.cs文本文件)
  • 附加到游戏物体中,定义游戏对象行为指令的代码

c#类

  • 字段
  • 属性(set get)在脚本中不显示,通常在脚本中 不写
  • 构造函数
  • 方法

脚本:

  • 字段
  • 方法

不能在子线程中访问主线程成员


初始阶段

Awake()

//执行时机:创建游戏对象--->立即执行-->执行1次
//作用:初始化
private void Awake()
{
Debug.Log("Awake"+Time.time)//output:Awake--0
}

start()

//先执行Awake再start,先执行所有Awake再所有start
//执行时机:创建游戏对象--->脚本启用才执行-->执行1次
//作用:初始化
private void Start()
{
Debug.Log("Start"+Time.time)//output:Start--e0
}

OnEnable()

//每当脚本对象启用时调用
private void OnEnable()
{
}

物理阶段

FixedUpdate()

//执行时机:每隔固定时间执行一次。默认0.02s
//适用于对物体做物理操作(移动、旋转....),**不会受到渲染影响**
private void FixedUpdate()
{//渲染时间不固定(每帧渲染物体量不同、机器性能不同)
}

游戏逻辑阶段

Update()

//执行时机:渲染帧执行,执行间隔不固定
//适用性:处理游戏逻辑,为了简单,移动的代码一般也放在这里
private void Update()
{
}

LateUpdate()

//延迟更新,与Update在同一帧里,跟在LateUpdate后面执行
LateUpdate()
{
}

输入事件

场景渲染

  • OnBecameVisible当可见
    当Mesh Renderer在任何相机上可见时调用
  • OnBecameInvisible当不可见
    当Mesh Renderer在任何相机上都不可见时调用

结束阶段

  • OnDisable当不可用
    对象变为不可用或附属游戏对象非激活状态时此函数被调用
  • OnDestroy当销毁
    当脚本销毁或附属的游戏对象被销毁时被调用
  • OnApplicationQuit当程序结束:
    应用程序退出时被调用
posted @ 2020-11-12 07:58  小帆敲代码  阅读(148)  评论(0编辑  收藏  举报