欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > Cocos creator学习3:生命周期(新手向)

Cocos creator学习3:生命周期(新手向)

2025/4/19 12:54:46 来源:https://blog.csdn.net/qq_57250692/article/details/147325098  浏览:    关键词:Cocos creator学习3:生命周期(新手向)
一、什么是cocos的生命周期?

官方回答:

个人通俗理解:

你建的脚本只要继承自component就会按条件触发这些方法(onLoad,onEnable..)

二.生命周期有哪些方法?

按执行优先级顺序往下排是:

  • onLoad        始终会在节点激活时执行一次
  • onEnable     在组件激活(enable)时执行一次
  • start             在节点激活开始时候执行一次,在onEnable后
  • update         节点激活后,每帧(0.016s)执行一次
  • lateUpdate   节点激活后,在updata之后每帧执行一次
  • onDisable     在组件弃用时候时执行一次
  • onDestroy     在节点销毁时候时执行一次

详细解释:

测试场景,先创建空节点并附上TestMain脚本

脚本内容如下:

import { Component, _decorator } from 'cc';const { ccclass } = _decorator;@ccclass('TestMain')
export class TestMain extends Component {onLoad() {console.log("onLoad"); // 始终会在节点激活时执行一次}}
1)onLoad(): 始终会在节点激活时执行一次

执行场景后打印脚本

注意:onLoad()在组件未启用(未勾选)时也会执行,关键在初始加载是否激活

           而且只有onLoad()会在未启用(未勾选)时执行

2)onEnabled,start,update,lateUpdate关联条件如下

代码:

start同onLoad类似,区别于onLoad在节点未激活时候也会执行,而start不会

3)onDisable:在组件弃用时候时执行一次

执行第一次打印

弃用组件TestMain第二次打印

再次启用组件第三次打印

4)onDestroy:在节点销毁时候时执行一次

销毁(删除组件)第四次打印

注意:删除节点不会调用onDestroy:,只会调用onDisable

三、生命周期有什么用?

onLoad一般用来加载资源

start用来初始化

onEnable激活功能

update可以做移动,监听

lateUpdate移动后的特效

onDisable隐藏界面后功能

onDestroy资源销毁,避免内存泄漏

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词