cocos入门11:生命周期
Cocos Creator 是一个强大的游戏开发工具,它基于 JavaScript 或 TypeScript,并使用 cc.Class 系统来组织游戏逻辑。在 Cocos Creator 中,每个组件(包括场景、节点和组件脚本)都有其生命周期,这些生命周期函数允许开发者在特定时刻执行代码。
1. 节点(cc.Node)的生命周期
节点是 Cocos Creator 场景图的基本单位,它包含组件和其他子节点。
1.1 onLoad
- 调用时机:当节点第一次被加载时调用。
- 用途:初始化节点状态,比如设置初始位置、大小等,以及加载任何必要的资源。
onLoad () {this.position = cc.v2(100, 100);// 加载资源等
}
1.2 start(可选)
- 调用时机:在
onLoad之后,第一次激活节点(进入场景或变为可见)时调用。 - 用途:执行一些需要在节点激活时进行的操作,比如开始动画、播放声音等。
start () {this.playAnimation();
}
1.3 update(可选)
- 调用时机:每帧调用。
- 用途:处理帧更新逻辑,比如移动角色、碰撞检测等。
update (dt) {// dt 是上一帧到当前帧的时间间隔,单位秒this.x += 10 * dt;
}
1.4 lateUpdate(可选)
- 调用时机:在
update之后调用。 - 用途:用于需要在所有节点的
update之后执行的逻辑。
1.5 onDestroy(可选)
- 调用时机:当节点被销毁时调用。
- 用途:清理资源,比如停止动画、释放内存等。
onDestroy () {this.stopAnimation();
}
2. 组件(cc.Component)的生命周期
组件附加到节点上,并共享节点的生命周期。组件也有类似的生命周期函数。
2.1 onLoad、start、update、lateUpdate、onDestroy
- 这些函数与节点的生命周期函数类似,但它们是针对组件的。
- 当组件附加到节点时,这些函数会随节点的生命周期一起被调用。
3. 场景(cc.Scene)的生命周期
场景包含多个节点和组件,并有自己的生命周期函数,但这些函数通常与节点的生命周期函数相似。
3.1 onLoad、start、update、onDestroy
- 这些函数在场景加载、启动、更新和销毁时被调用。
- 但通常,开发者会在场景中的节点或组件上处理大部分逻辑。
4. 注意事项
- 生命周期函数的调用顺序是固定的,并且依赖于节点和组件的加载和销毁顺序。
- 在
onLoad中,节点和组件还没有完全添加到场景图中,所以不应依赖于与其他节点的关系或位置。 - 在
onDestroy中,应清理所有资源,以避免内存泄漏。 update和lateUpdate在每帧都会被调用,所以要小心性能问题,避免在其中执行繁重的操作。
5. 总结
了解 Cocos Creator 的生命周期函数是编写高效、健壮游戏逻辑的关键。通过合理使用这些函数,你可以更好地控制游戏的流程和资源使用。
!!!
所有组件的onload方法执行完,才开始执行onstart
相关文章:
cocos入门11:生命周期
Cocos Creator 是一个强大的游戏开发工具,它基于 JavaScript 或 TypeScript,并使用 cc.Class 系统来组织游戏逻辑。在 Cocos Creator 中,每个组件(包括场景、节点和组件脚本)都有其生命周期,这些生命周期函…...
c++分辨读取的文件编码格式是utf-8还是GB2312
直接上代码,有一部分是GPT直接生成的: #include <QCoreApplication> #include <QFile> #include <QTextCodec> #include <QDebug>// 判断是否为UTF-8编码 bool isUtf8(const QByteArray &data) {int i 0;while (i < da…...
MS721仪表总线(M-Bus)从站收发电路
MS721 是为 M-Bus 标准 (EN1434-3) 的应用而开发的单片收发 电路。 MS721 接口电路可以适应从站与主站之间的电压差,总 线的连接没有极性要求,电路由主站通过总线供电,这样从站 电池就不会增加额外的负载,同时还集成电源失效功…...
用Python代码锁定Excel单元格以及行和列
Excel能够帮助用户高效地组织数据,还支持复杂的公式计算和数据分析。而随着团队协作的日益频繁,保护数据的准确性和完整性变得尤为重要。在Excel表格中,我们可以通过锁定特定的单元格或区域,防止对单元格内容进行随意修改…...
在Lua解释器中注册自定义函数库
本文目录 1、引言2、注册原理3、实例4、程序验证 文章对应视频教程: 暂无,可以关注我的B站账号等待更新。 点击图片或链接访问我的B站主页~~~ 1、引言 在现代软件开发中,Lua因其轻量级、高效和可嵌入性而被广泛使用。作为一种灵活的脚本语言…...
UKP3D用户定制图框的思路
为用户定制图框,记录以下图框制作方法,便于用户自已修改。 1.轴测图与平面图的图框: 1.1.图框在安装目录下,例如:E:\Program Files (x86)\UKSoft\UKP3d9.2\config\TemplateAndBlock\CADTemplate\ 1.2.配置文件在安装…...
事务并发问题 与 事务隔离级别
来源:微软sql文档 https://learn.microsoft.com/en-us/sql/odbc/reference/develop-app/transaction-isolation-levels?viewsql-server-ver16 事务隔离级别,是一种衡量事务隔离程度的指标。 事务隔离级别的定义,取决于能不能解决以下几个问…...
云原生Kubernetes系列项目实战-k8s集群+高可用负载均衡层+防火墙
一、Kubernetes 区域可采用 Kubeadm 方式进行安装: 名称主机部署服务master192.168.91.10docker、kubeadm、kubelet、kubectl、flannelnode01192.168.91.11docker、kubeadm、kubelet、kubectl、flannelnode02192.168.91.20docker、kubeadm、kubelet、kubectl、flan…...
MFC为什么说文档在数据的保存和给用户提供数据之间划分了清晰的界限?
MFC MFC(Microsoft Foundation Classes)是微软为Windows应用程序开发提供的一套C类库,它在设计上强调了"文档-视图"(Document-View)架构。这种架构将文档(Document)与用户界面&#…...
SAS:PROC SQL和ANSI标准
文章来源于SAS HELP PROC SQL 和ANSI SQL 的区别——图表和视图名称的作用域规则不同 例1:匹配数据集相关名称 当PROC SQL匹配数据集相关名称时,会依次进行3个步骤:1、有别名,用别名匹配;2、1匹配失败,在无…...
使用mysql_config_editor可以为特定的MySQL服务器或客户端程序设置登录路径
login_path 介绍 在 MySQL 中,login_path 通常不是 MySQL 服务器配置或 SQL 语句的一部分。但是,它经常与 MySQL 的命令行工具 mysql_config_editor 一起使用,这是一个允许用户安全地存储认证凭据(如用户名、密码和连接参数&…...
gridview的模板按钮如何判断用户点击的是哪一行
在asp.net的 GridView 控件中,判断用户点击的是哪一行通常可以通过处理 GridView 的 RowCommand 事件来实现。RowCommand 事件会在 GridView 的每个按钮(除非另有指定的CommandName)被点击时触发,并且事件参数中包含了足够的信息来…...
虚拟化 之三 详解 jailhouse(ARM 平台)的构建过程、配置及使用
嵌入式平台下,由于资源的限制,通常不具备通用性的 Linux 发行版,各大主流厂商都会提供自己的 Linux 发行版。这个发行版通常是基于某个 Linux 发行版构建系统来构建的,而不是全部手动构建,目前主流的 Linux 发行版构建系统是 Linux 基金会开发的 Yocto 构建系统。 基本环…...
数据安全:Web3时代的隐私保护新标准
随着数字化时代的到来,我们的生活已经完全依赖于互联网和数据交换。然而,随之而来的是对个人隐私和数据安全的日益关注。在这个信息爆炸的时代,数据泄露、个人隐私侵犯和网络攻击等问题日益突出,而Web3技术的崛起正带来了一种全新…...
STM32串口不定长接收空闲中断
目录 1. 开启串口空闲中断2. 合理开关中断3. 串口发送函数 1. 开启串口空闲中断 最近接触到的 Modbus RTU 项目使用到了串口接收中断和空闲中断。记录一下 初始化可以直接套用正点原子的初始化,只需要添加一行即可 USART_ITConfig(USART1, USART_IT_IDLE, ENABLE)…...
Ubuntu 设置开机启动脚本
在/etc/systemd/system/目录下创建对应的server服务 如:/etc/systemd/system/test-script.service [Unit] DescriptionTest Script Service Afternetwork.target[Service] Typeoneshot ExecStart/path/to/test-script.sh[Install] WantedBymulti-user.target替换/…...
C# Task 包含 await ConfigureAwait CancellationTokenSource
Task以下是 Task 类的一些关键特性和用法:以下是一些使用 Task 的示例:创建并启动一个任务使用 await 等待任务完成处理任务异常使用 Task<TResult> 获取结果取消任务总结 await暂停方法执行:非阻塞调用:任务结果获取&#…...
Python数据分析与建模库-02科学计算库Numpy01-05合集
1、该视频主要讲述了南派(NumPy)的核心操作和数据结构,以及如何使用NumPy库读取和处理数据。 2、该视频主要讲述了在编程中,如何对数组或矩阵中的元素进行判断和操作,以及在单排中如何进行类型转换。 3、该视频主要讲…...
【前端项目笔记】1 登录与登出功能实现
项目笔记 ☆☆代表面试常见题 前后端分离:后端负责写接口,前端负责调接口。 登录/退出功能 登录业务流程 登录页面:用户名密码 调用后台接口进行验证 通过验证,根据后台响应状态跳到项目主页 登录业务相关技术点࿱…...
是字符串定义以及在C语言中字符串是如何表示的
字符串(String)是由零个或多个字符(包括空格)组成的有限序列,常用于文本数据的存储和处理。在编程中,字符串是常见的数据类型。 在C语言中,字符串不是一种内置的数据类型,但C语言提…...
基础测试工具使用经验
背景 vtune,perf, nsight system等基础测试工具,都是用过的,但是没有记录,都逐渐忘了。所以写这篇博客总结记录一下,只要以后发现新的用法,就记得来编辑补充一下 perf 比较基础的用法: 先改这…...
江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...
NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...
4. TypeScript 类型推断与类型组合
一、类型推断 (一) 什么是类型推断 TypeScript 的类型推断会根据变量、函数返回值、对象和数组的赋值和使用方式,自动确定它们的类型。 这一特性减少了显式类型注解的需要,在保持类型安全的同时简化了代码。通过分析上下文和初始值,TypeSc…...
【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
全面解析数据库:从基础概念到前沿应用
在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...
Python学习(8) ----- Python的类与对象
Python 中的类(Class)与对象(Object)是面向对象编程(OOP)的核心。我们可以通过“类是模板,对象是实例”来理解它们的关系。 🧱 一句话理解: 类就像“图纸”,对…...
