cocos2dx
文章平均质量分 71
思航
当优秀成为一种习惯
展开
-
cocos2d-x-html5之工程结构分析
文章前言一、工程结构1.1 web/AUTHORS.txt1.2 web/Base64Images.js1.3 web/bower.json1.4 web/CCBoot.js1.5 web/CCDebugger.js1.6 web/CHANGELOG.txt1.7 web/cocos1.8 web/extensions1.9 web/external1.10 web/jsb_apis.js1.11 web/licenses1.12 web/moduleConfig.json1.13 web/README.原创 2021-10-02 14:58:19 · 485 阅读 · 1 评论 -
coco2d-x-html5之渲染流程
文章目录一、前言二、关键类介绍1、CCDirector.js (导演类)2、RendererWebGL.js (调度)3、CCNode.js4、CCNodeWebGLRenderCmd.js一、前言嗨,大家好,我是思航。今天打算讲一下 cocos2d-x-html的渲染流程。二、关键类介绍1、CCDirector.js (导演类)2、RendererWebGL.js (调度)3、CCNode.js4、CCNodeWebGLRenderCmd.js...原创 2021-08-29 17:14:17 · 293 阅读 · 0 评论 -
coco2d-x-html5之动作系统
文章目录一、前言二、代码和效果1、代码2、效果三、分析1、执行 CCDirector.js的drawScene方法2、执行CCScheduler.js的 update函数2.1 CCActionManager如入添加到CCScheduler的_updatesNegList3、执行CCActionManager.js 的update函数3.1 动作如何添加到CCActionManager.js 的_arrayTargets4、执行 cc.MoveBy 的 step函数四、自定义动作类4.1 自定义类代码4.原创 2021-08-13 00:50:46 · 343 阅读 · 2 评论 -
“Node still marked as running on node destruction! Was base class onExit() called in derived class o
今天测试功能的时候,遇到删除节点的时候,出现"Node still marked as running on node destruction! Was base class onExit() called in derived class onExit() implementations?"断言。这边记录一下问题的查找过程以及解决方案。首先出现这个报错的时候,我们先查找一下源码,发现这个断言是在CCNode.cpp 的析构函数里面抛出来的。从代码可以看出,调用析构造函数的时候,_running为True原创 2021-04-13 23:16:03 · 558 阅读 · 0 评论 -
cocos2dx-js 快速查找未被使用的贴图
实现思路:1、查找当前内存中的所有贴图:cc.textureCache._textures2、当前正在使用的贴图:通过当前场景,遍历所有的子节点,查找引用的贴图3、遍历所有的贴图,看下是否正在使用// 获取指定节点的下的所有子节点(包含自己)var getAllChildren = function(curr) { var stack = [curr]; var index = 0 while (curr) { // Walk through childre原创 2021-01-29 20:57:42 · 255 阅读 · 0 评论 -
coco2d-x-html5之Director解析2
通过上一讲,我们了解到是通过帧率的值,来控制回调的频率,同时我们看到每次回调都执行了director.mainLoop(),这一讲我们就分析一下CCDirector.js这个文件.原创 2020-06-07 23:08:50 · 187 阅读 · 0 评论 -
coco2d-x-html5之Director解析
上一讲我们讲了为什么调用了cc.game.run后,会执行cc.game.onStart函数。这一讲,我们通过分析一下 CCDirector.js的代码,来了解一下游戏是怎么渲染的。原创 2020-06-07 21:43:30 · 276 阅读 · 0 评论 -
cocos2d-x-html5之游戏启动2
上一篇讲了调用了cc.game.run后,会执行cc.game.onStart函数,然后项目组在onStart函数中实现了自己的逻辑。 这一篇就具体解析一下是怎么执行到cc.game.onStart函数。原创 2020-05-24 16:56:05 · 517 阅读 · 0 评论 -
cocos2d-x-html5之游戏启动
接触cocos2dx有5年多来,以后可能要切换到creator了。所以打算重新学习一下cocos2dx源码,并记录一下。今天我们来讲一下web版本是怎么启动,首先看下模版工程的文件结构,其中index.html为入口。接下来我们看下index.html里面的源码<!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Cocos2d-html5 Hello Wo原创 2020-05-24 10:35:30 · 1398 阅读 · 0 评论 -
cocos2dx-js CCBoot.js异步池cc.AsyncPool浅析
首先通过一个问题的出现以及解决,来介绍cc.AsyncPool的实现。 假设现在有个需求,就是一个页面里面要显示很多图片,而且这些图片是需要下载的。如果我们的实现方法是显示这个页面的时候,一次性请求并创建这些图片,这样做可能会出现当原创 2018-12-17 00:31:01 · 1018 阅读 · 0 评论 -
coco2dx-js 实现 层拦截 点击响应事件
今天要实现一个功能,要用到层拦截点击事件的功能,过程中走了一些弯路,下面记录一下所学的。 实现功能: 在已有的界面A中,点击A的一个按钮后,弹出界面B。这时点击界面B的时候,界面A不接收点击响应。关闭B界面后,A界面又可以点击,接收的点击响应。 简单说就是,拦截层B出现的时候界面A不可点击,消失的时候界面A可点击。预备知识(可以先不看,直接跳到做法,然后在返回来看): 界面B要拦截点原创 2016-01-22 23:27:31 · 1348 阅读 · 0 评论 -
cocos2dx之UserDefault: 数据存储及加密 (上)
首先说明一下楼主使用的cocos2dx的版本是3.4。 大家知道有时候游戏需要在本地存储一些数据,比如单机里面的最高分之类的。我们可以根据要存储的数据类型来调用一下接口:bool类型: cc.UserDefault:getInstance():setBoolForKey(key, value) cc.UserDefault:getInstance():getBoolForKey(k原创 2015-12-18 08:59:54 · 6222 阅读 · 2 评论