摘要: 为何将单例模式移除 在Cocos2d-JS v3.0之前,所有API几乎都是从Cocos2d-x中移植过来的,这是Cocos2d生态圈统一性的重要一环。可惜的是,这种统一性也在很大程度上限制了Cocos2d-html5的发展,有一些在C++中非常有意义的涉及搬到Html5平台后却使得Cocos2d- 阅读全文
posted @ 2019-11-25 19:03 星月相随 阅读(280) 评论(0) 推荐(0)
摘要: 在Cocos2d-JS v3.0 RC2中,与Android上js调用Java一样,Cocos2d-JS也提供了在iOS和Mac上js直接调用Objective-C的方法,示例代码如下: 在jsb.reflection.callStaticMethod方法中,我们通过传入OC的类名,方法名,参数就可 阅读全文
posted @ 2019-11-25 19:02 星月相随 阅读(411) 评论(0) 推荐(0)
摘要: 在cocos2d-js 3.0beta中加入了一个新特性,在android平台上我们可以通过反射直接在js中调用java的静态方法。它的使用方法很简单: 在callStaticMethod方法中,我们通过传入Java的类名,方法名,方法签名,参数就可以直接调用Java的静态方法,并且可以获得Java 阅读全文
posted @ 2019-11-25 19:02 星月相随 阅读(501) 评论(0) 推荐(0)
摘要: 概述 项目相关配置,由原来的cocos2d.js中转移到project.json中,该文件需要与index.html同级,一般建议放在根目录下。 由原来的cocos2d.js改为project.json的好处如下: 原来的cocos2d.js中参杂了一些逻辑代码,无法很好体现其就是作为项目的配置文件 阅读全文
posted @ 2019-11-25 19:01 星月相随 阅读(530) 评论(0) 推荐(0)
摘要: 概述 该配置文件相当于v2版本中的jsloader.js。改造的目的是为了使得配置纯粹化,同时也能比较好的支持cocos-console、cocos-utils甚至是用户自定义脚本工具。 字段说明 module 配置各个模块的js列表。key名即为模块名称。这些key名将会在project.json 阅读全文
posted @ 2019-11-25 19:00 星月相随 阅读(216) 评论(0) 推荐(0)
摘要: CCAudio.js SimpleAudioEngine.js改名为CCAudio.js。 AudioEngine中删除了以下几个方法: preloadMusic preloadMusic preloadEffect preloadEffect isFormatSupported isFormatS 阅读全文
posted @ 2019-11-25 19:00 星月相随 阅读(338) 评论(0) 推荐(0)
摘要: 1. 新的API风格 我们直接来看看你可以如何使用Cocos2d-JS v3.0: 以前的API新的API node.setPosition(x, y); node.x = x;node.y = y; node.setRotation(r); node.rotation = r; 如表格中可以看到的 阅读全文
posted @ 2019-11-25 18:59 星月相随 阅读(639) 评论(0) 推荐(0)
摘要: 这篇指引主要介绍如何使用从在线下载工具下载下来的Cocos2d-JS的单文件引擎。 你有可能下载了下面三个版本中的一个: Cocos2d-JS Full Version: 完整版引擎包含Cocos2d-JS引擎的所有功能特性以及所有扩展,使用这个版本可以帮助你发掘Cocos2d-JS令人惊艳的创造力 阅读全文
posted @ 2019-11-25 18:59 星月相随 阅读(570) 评论(0) 推荐(0)
摘要: 简介 游戏开发中一个很重要的功能就是交互,如果没有与用户的交互,那么游戏将变成动画,而处理用户交互就需要使用事件监听器了。 总概: 事件监听器(cc.EventListener) 封装用户的事件处理逻辑 事件管理器(cc.eventManager) 管理用户注册的事件监听器,根据触发的事件类型分发给 阅读全文
posted @ 2019-11-25 18:58 星月相随 阅读(377) 评论(0) 推荐(0)
摘要: 概述 将原来的cc.Browser以及sys合并。 下面是api改造情况: //左侧是新api,右侧是旧api //左侧是新api,右侧是旧api //常量 //常量 cc.sys.LANGUAGE_ENGLISH <-- cc.LANGUAGE_ENGLISH cc.sys.LANGUAGE_EN 阅读全文
posted @ 2019-11-25 18:57 星月相随 阅读(992) 评论(0) 推荐(0)
摘要: 所有的对象统一使用create方法创建,不再存在createXXX之类的方法 1、精灵Sprite 一共4种创建方式 (1) 根据图片资源路径创建 //参数1:图片资源路径 //参数1:图片资源路径 var sprite1 = cc.Sprite.create("res/HelloHTML5Worl 阅读全文
posted @ 2019-11-25 18:57 星月相随 阅读(197) 评论(0) 推荐(0)
摘要: 统一引擎内部创建SpriteFrame的数据结构 将Plist的解析工作转移到了cc._plistLoader中去,对SAXParser进行了改造。 统一了引擎创建SpriteFrame的数据结构: { _inited : true, frames : { "a_frame_0.png" : { r 阅读全文
posted @ 2019-11-25 18:56 星月相随 阅读(408) 评论(0) 推荐(0)
摘要: cc.pool的使用场景 经常创建和销毁的元素,例如打飞机游戏里面的子弹等。 不适用的场景:不是很经常创建的物体,比如背景,建筑等。 如何使用cc.pool 让你的类支持cc.pool 首先,你需在需要使用cc.pool来管理的类中实现reuse和unuse方法,cc.pool在执行putInPoo 阅读全文
posted @ 2019-11-25 18:55 星月相随 阅读(373) 评论(0) 推荐(0)
摘要: cc.saxParser 将cc.SAXParser重构为单例对象:cc.saxParser 删除了tmxParse,preloadPlist,unloadPlist,getName,getExt, getList等方法。 Parser的统一入口函数规范为parse,并且传参内容即为需要解析的文本内 阅读全文
posted @ 2019-11-25 18:55 星月相随 阅读(195) 评论(0) 推荐(0)
摘要: 概述 该单例是为了方便开发者操作文件路径所设计的。定义为cc.path的目的是为了跟nodejs的path保持一致。里面定义的api也基本跟nodejs的path模块一致,但不全有,今后可能还会继续根据需求添加。同时也加了一些path模块没有的pai,例如cc.path.changeExtname和 阅读全文
posted @ 2019-11-25 18:54 星月相随 阅读(357) 评论(0) 推荐(0)
摘要: api改动情况,左边为新增,右边为原来的。 cc.log 不变 cc.log 不变 cc.warn 新增 cc.warn 新增 cc.error 新增 cc.error 新增 cc.assert <-- cc.Assert cc.assert <-- cc.Assert 此次改造有以下几点原因: 添 阅读全文
posted @ 2019-11-25 18:52 星月相随 阅读(206) 评论(0) 推荐(0)
摘要: 概述 原来的cc.Loader被改造为一个单例cc.loader,采用了插件机制设计,让loader做更纯粹的事。 各种资源类型的loader可以在外部注册进来,而不是直接将所有的代码杂揉在cc.Loader中,更好的方便管理以及用户自定义loader的创建。 cc.loader中包含了一些网络资源 阅读全文
posted @ 2019-11-25 18:51 星月相随 阅读(741) 评论(0) 推荐(0)
摘要: Web引擎 CCFileUtils.js在Web引擎中已经被删除了,原因是FileUtils在原生平台中的文件检索功能在Web端是无法实现的。 二进制文件获取的方法被转移到了cc.loader.loadBinary(异步)以及cc.loader.loadBinarySync(同步)中。 其中,cc. 阅读全文
posted @ 2019-11-25 18:50 星月相随 阅读(473) 评论(0) 推荐(0)
摘要: 概述 使用cc.game单例代替了原有的cc.Application以及cc.AppControl。 简化了工程启动代码的编写。 使用 首先在index.html中引入xxx/frameworks/cocos2d-html5/CCBoot.js。 然后开始进行入口代码编写,一般放在main.js中。 阅读全文
posted @ 2019-11-25 18:50 星月相随 阅读(1016) 评论(0) 推荐(0)
摘要: 新增action中的方法 以前,当我们需要重复一个action的时候,我们需要: sprite.runAction(cc.Repeat.create(action, 2)); 上面代码中创建了一个新的Repeat对象重新包装action,这样不管在语义上还是代码上都比较难理解。 为什么我们不能像jQ 阅读全文
posted @ 2019-11-25 18:49 星月相随 阅读(567) 评论(0) 推荐(0)