Cocos Creator 生命周期回调(官方文档摘录)
Cocos Creator 为组件脚本提供了生命周期的回调函数。用户通过定义特定的函数回调在特定的时期编写相关 脚本。目前提供给用户的声明周期回调函数有:
- onLoad
- start
- update
- lateUpdate
- onDestroy
- onEnable
- onDisable
onLoad
组件脚本的初始化阶段,我们提供了 onLoad 回调函数。onLoad 回调会在这个组件所在的场景被载入 的时候触发,在 onLoad 阶段,保证了你可以获取到场景中的其他节点,以及节点关联的资源数据。通常 我们会在 onLoad阶段去做一些初始化相关的操作。例如:
- cc.Class({
- extends: cc.Component,
- properties: {
- bulletSprite: cc.SpriteFrame,
- gun: cc.Node,
- },
- onLoad: function () {
- this._bulletRect = this.bulletSprite.getRect();
- this.gun = cc.find('hand/weapon', this.node);
- },
- });
start
start 回调函数会在组件第一次激活前,也就是第一次执行 update 之前触发。start 通常用于 初始化一些中间状态的数据,这些数据可能在 update 时会发生改变,并且被频繁的 enable 和 disable。
- cc.Class({
- extends: cc.Component,
- start: function () {
- this._timer = 0.0;
- },
- update: function (dt) {
- this._timer += dt;
- if ( this._timer >= 10.0 ) {
- console.log('I am done!');
- this.enabled = false;
- }
- },
- });
update
游戏开发的一个关键点是在每一帧渲染前更新物体的行为,状态和方位。这些更新操作通常都放在 update 回调中。
- cc.Class({
- extends: cc.Component,
- update: function (dt) {
- this.node.setPosition( 0.0, 40.0 * dt );
- }
- });
lateUpdate
update 会在所有动画更新前执行,但如果我们要在动画更新之后才进行一些额外操作,或者希望在所有组件的 update 都执行完之后才进行其它操作,那就需要用到 lateUpdate 回调。
- cc.Class({
- extends: cc.Component,
- lateUpdate: function (dt) {
- this.node.rotation = 20;
- }
- });
onEnable
当组件的 enabled 属性从 false 变为 true 时,会激活 onEnable 回调。倘若节点第一次被 创建且 enabled 为 true,则会在 onLoad 之后,start 之前被调用。
onDisable
当组件的 enabled 属性从 true 变为 false 时,会激活 onDisable 回调。
onDestroy
当组件调用了 destroy(),会在该帧结束被统一回收,此时会调用 onDestroy 回调。
Cocos Creator 生命周期回调(官方文档摘录)的更多相关文章
- Cocos Creator 使用计时器(官方文档摘录)
在 Cocos Creator 中,我们为组件提供了方便的计时器,这个计时器源自于 Cocos2d-x 中的 cc.Scheduler,我们将它保留在了 Cocos Creator 中并适配了基于组件 ...
- Cocos Creator 加载和切换场景(官方文档摘录)
Cocos Creator 加载和切换场景(官方文档摘录) 在 Cocos Creator 中,我们使用场景文件名( 可以不包含扩展名)来索引指代场景.并通过以下接口进行加载和切换操作: cc.dir ...
- ng的概念层次(官方文档摘录)
官方文档是这么说的: You write Angular applications by: composing HTML templates with Angularized markup, writ ...
- angular 模板语法(官方文档摘录)
https://angular.cn/guide/template-syntax {{}} 和"" 如果嵌套,{{}}里面求完值,""就是原意 <h3&g ...
- Cocos Creator学习三:生命周期回调函数
1.目的:学习生命周期回调函数以及回调顺序,更有利于我们逻辑的处理把控. 2.生命周期回调函数: 节点:指cc.Node:组件:指cc.Component. ①onLoad:脚本组件绑定的节点所在场景 ...
- HTML5 Animation Creator | Hype 官方文档
HTML5 Animation Creator | Hype 官方文档 HTML5 Animation Build 7个 专业术语 场景,元素,属性,关键帧,动画,时间线,操作 Hype 官方文档 h ...
- TestNG官方文档中文版(2)-annotation(转)
1. 介绍 TestNG是一个设计用来简化广泛的测试需求的测试框架,从单元测试(隔离测试一个类)到集成测试(测试由有多个类多个包甚至多个外部框架组成的整个系统,例如运用服务器). 编写一个测试的 ...
- Google Android官方文档进程与线程(Processes and Threads)翻译
android的多线程在开发中已经有使用过了,想再系统地学习一下,找到了android的官方文档,介绍进程与线程的介绍,试着翻译一下. 原文地址:http://developer.android.co ...
- 20191127 Spring Boot官方文档学习(9.1-9.3)
9."使用方法"指南 9.1.Spring Boot应用程序 9.1.1.创建自己的FailureAnalyzer FailureAnalyzer被包装在FailureAnalys ...
随机推荐
- Web服务器原理
——————————什么是Web服务器 Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以向浏览器等Web客户端提供文档.目前最主流的三个Web服务器是Apache Ngin ...
- 数据库链接池c3p0的配置
由于我看的是远古教程,所以里面各种驱动jar包还有c3p0包都是远古版本,对于最新版本的jdbc已经失去的作用,所以我在这里重写一下! 1.首先是c3p0的位置,package的外面,src的里面 2 ...
- SpringBoot2 task scheduler 定时任务调度器四种方式
github:https://github.com/chenyingjun/springboot2-task 使用@EnableScheduling方式 @Component @Configurabl ...
- xss的一般防护措施(及CreateDefaultBuilder源码)
从上个礼拜开始,公司的安全小组就开始排查公司项目的安全性,首屈一指的就是xss问题,为此我总结了下我的经验. 1.对后台程序的输出数据做html编码处理,前端做简单的替换处理 2.如果业务需要,后台可 ...
- 2019-2-14sql server数据库模糊查询语句
sql server数据库模糊查询语句 确切匹配: select * from hs_user where ID=123 模糊查询 select * from hs_user where ID l ...
- linux 文件属性(转)
1. 文件类型 - 普通文件 d 目录文件 l 链接文件 b 块设备文件 c 字符型设备文件 s socket文件 p 管道类型文件 块设备文件主要是指慢速设备,比如hd硬盘,数据主要是分块存储,所 ...
- Python字符串的相关操作
1.大小写转换 判断字符串 s.isalnum() #所有字符都是数字或者字母 s.isalpha() #所有字符都是字母 s.isdigit() #所有字符都是数字 s.islower() #所有字 ...
- vue学习:vue+webpack的快速使用指南(新手向)
一.vue有两种使用方式: 1.下载vue.js <script src="vue.js"></script> 2.使用npm npm install vu ...
- wpf1
emCombobox.Items[2].IsEnabled = false; 隐藏下拉框里面的一个item wpf 单例模式. [DllImport("user32", CharS ...
- python hashlib模块 md5加密 sha256加密 sha1加密 sha512加密 sha384加密 MD5加盐
python hashlib模块 hashlib hashlib主要提供字符加密功能,将md5和sha模块整合到了一起,支持md5,sha1, sha224, sha256, sha384, ...