Unity学习笔记之常用生命周期函数

一、什么是生命周期函数

 //所有继承MonoBehaviour的脚本 最终都会挂载到 GameObject游戏对象上
 //生命周期函数 就是该脚本对象依附的GameObject对象从出生到消亡整个生命周期中
 //会自动反射调用的一些特殊函数

 //Unity帮助我们记录了一个GameObject对象依附了哪些脚本
 //会自动的得到这些对象,通过反射去执行一些固定名字的函数

二、常用的生命周期函数

 //注意:
 //生命周期函数的访问修饰符一般为private和protected
 //因为不需要再外部自己调用生命周期函数 都是Unity自己帮助我们调用的

①Awake()

 void Awake()//游戏对象(自己这个类对象)被创建的时候调用 类似构造函数的存在 我们可以在一个类对象 刚创建时 进行一些初始化操作 出生时调用
 {
     //在Unity中打印信息的两种方式
     //1.没有继承MonoBehaviour的类中
     Debug.Log("Awake");
     //Debug.LogWarning("警告");//打印警告
     //Debug.LogError("出错了");//打印错误
     //2.继承MonoBehaviour的类中 有一个线程的方法 可以使用
     print("");
 }

②OnEnable

//对于我们来说 想要当一个对象被激活时 进行一些逻辑处理 就可以写在这个函数
private void OnEnable()
{
    print("每次激活时调用");
}

③Start()


    //主要作用还是用来初始化信息的 但是它相对于 Awake()函数 调用时机更靠后
    //因为它是在对象 进行第一次帧更新之前调用的
    void Start()//游戏对象(自己这个类对象)被激活的时候调用
    { 
        //从自己被创建出来后,第一次帧更新之前调用 一个对象只会调用一次 零帧启动
        print("Start");

    }

④ FixedUpdate()

//他主要是用于 进行物理更新
//他是每一帧都执行的 但是这里的帧 和游戏帧有点不同
//他的时间间隔 是可以在 project settings中的 time 中设置的
void FixedUpdate()//固定帧会调用
{
    print("Fixeddate");
}

⑤Update()

    //主要用于处理游戏核心逻辑更新的函数
    void Update()//每一帧都会调用 优先级小于Fixeddate
    {
        print("Update");

    }

⑥LateUpdate()

    //一般这个更新是用来处理 摄像机位置更新相关内容的
    //Update和LateUpdate之间 Unity进了一些处理 处理我们动画相关的更新
    private void LateUpdate()
    {
        print("LateUpdate");
    }
    

⑦OnDisable()

    void OnDisable()//游戏对象(自己这个类对象)失活时调用
    { 
        //如果我们希望在一个对象失活时做一些处理 就可以在该函数中写逻辑
        print("OnDisable");
    }

⑧OnDestroy()

 void OnDestroy()//游戏对象(自己这个类对象)被销毁时调用
 { 
 
     print("OnDestroy");
     //依附的GameObject对象被销毁时调用
 }

三、生命周期函数也是支持重写的

只要子类继承了父类 通过override重写就行

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值