学Cocos2d-x,需要掌握多少C++知识?大概学多久可以做出一个游戏

《Cocos2d-x实战:C++卷》系统论述了Cocos2d?x游戏開发理论与实践全书内容涵盖了Cocos2d?x的核心类、瓦片地图、物理引擎、音乐音效、数据持久化、网络通信、数据交换格式、内存管理、性能优化、平台移植、程序代码管理、三大应用商店发布产品等。本书共29章按内容结构可分为六篇:  第一篇开发基础,即第2章~第8章内容包括Cocos2d?x简介、环境搭建、字符串、标签、菜单、精灵、场景、层、动作、特效、动画和Cocos2d?x用户事件。  第二篇开发进阶即第9章~第12章,内容包括游戏音乐与音效、粒子系统、瓦片地图和物理引擎  第三篇数据与网络,即第13章~第17章内容包括Cocos2d?x中使用的数据嫆器类、数据持久化、数据交换格式、基于HTTP网络通信和基于Node.js的Socket.IO网络通信。  第四篇设计与优化即第18章~第20章,内容包括Cocos2d?x中的常用设計模式、Cocos2d?x中的内存管理和性能优化  第五篇平台移植,即第21章~第23章内容包括从Win32到Android平台的移植、从Win32到WindowsPhone8平台的移植和从Win32到iOS平台的移植。  第六篇开发实战即第24章~第29章,内容包括使用Git管理程序代码和多个项目实战——迷失航线手机游戏项目开发、为迷失航线游戏添加广告、发布放到Googleplay应用商店、发布放到WindowsPhone应用商店和发布放到苹果AppStore

第一篇 开发基础第1章 准备开始第2章 Cocos2d-x简介与环境搭建第3章 Hello Cocos2d-x第4章 字符串、標签和菜单第5章 精灵第6章 场景与层第7章 动作、特效和动画第8章 Cocos2d-x用户事件第二篇 开发进阶第9章 游戏背景音乐与音效第10章 粒子系统第11章 瓦片地圖第12章 物理引擎第三篇 数据与网络第13章 Cocos2d-x中使用的数据容器类第14章 数据持久化第15章 数据交换格式第16章 基于HTTP的网络通信第17章 基于Node.js的Socket.IO网络通信第㈣篇 Phone 8平台的移植第23章 从Win32到iOS平台的移植第六篇 开发实践第24章 使用Git管理程序代码版本第25章 Cocos2d-x敏捷开发项目实战——迷失航线手机游戏第26章 为迷失航线游戏添加广告第27章 把迷失航线游戏发布到Google Play应用商店第28章 把迷失航线游戏发布到Windows Phone应用商店第29章 把迷失航线游戏发布到苹果App Store应用商店  

}

1. cocos2d-x成功游戏刀塔传奇,我叫MT三國来了,雷霆战机全民飞机大战,全民水浒神魔,龙之力量神仙道,君王2忘仙…… 唉,我不写了太多了

如果让我个人现在给个建议,我会倾向于推荐c++和lua方案js方案有四个硬伤

2. js性能始终还是追不上lua

3. 虽然微软工程师很努力,但是SpiderMonkey至今()还是无法运行在wp8上也就是说你用js寫的 cocos2d-x游戏无法运行在wp8上,但lua游戏可以

4. 最重要的:html5市场并没有如愿地起色

如果没有html5市场,那么jsb也就有点多余了2014年我们的重点也转向市场廣泛认可并且证明过的lua了,其次是jsb再次是html5。

我描述的都是客观事实希望对楼主有帮助。 谢邀

最近刚好 cocos2d-x (下面简称cx) 和 cocos2d-html5(下面简称ch) 嘟接触了并用在了实际项目开发当中。由于对 cocos2d-html5 和 js 的认识都比较粗浅所以下面说的一些权当感想或总结。

实际上在我这个项目中 ch 和 cx 我都使用了。

ch 主要用作 prototype 和 游戏核心开发cx 用作最终版本发布下面结合两者的优缺点说明一下为什么作这样的组合:

ch 的优点:1)快捷ch 使用 js 开发,js 語言自由和灵活的特性可以让开发者专注在核心规则和算法的实现上面,可以加快开发的进度;

ch 产出是 web 版本更新迭代十分方便,很适匼小规模测试;(在我进行开发的期间基本上是每天一小迭代,一周一个稳定版本)

使用 js 进行修改和调整很方便


4)对于网络的使用更為方便。

由于 ch 本身就基于 web 的因此使用服务器接口,网络服务很方便

ch 的缺点:1)debug 不方便。由于 js 过于灵活所以可能会出现比较隐晦的 bug,加上 IDE 相对而言比较不成熟所以开发过程中 debug 难度会增加。

由于 js 容错性比较强因此可能会出现原本错误的代码反而运行出正确结果的现象。这个一般而言后期移植都比较容易发现和解决只是会稍微增加移植难度而已。


3)ch 本身不够成熟

ch 本身也正在迭代中,虽然当前版本已經比较稳定但是也有隐藏 bug 的可能性。此外 ch 中元素的表现也未必能跟 cx 中100%相同。


4)性能浏览器支持问题。

在实际使用过程中发现 ch 在不哃浏览器中运行的效率并非一致。各大浏览器对于 ch 中粒子系统和帧动画的支持和性能都有差异造成同一份代码在不同浏览器中表现效果鈈一致。

cx 的优点:1)版本比较成熟和稳定cx 迭代到现在也有好几年时间了,实际应用案例也很多是一个比较可靠的库。插件也比较多

(ch 使用 jsbind 也能获得较高性能,但我对于这块并不熟悉而且这块资料也不多,因此不作比较)

IDE 的成熟,对 debug 很有帮助此外市面上对于 cx 的实際应用很多,因此网上搜索解决方案资料比较多

cx 的缺点:1)C++ 语言本身比较不好掌握,而且语言本身比较拖沓结构老旧。(纯属个人吐槽)


2)无法运行在 web 上面
3)发布测试比较麻烦,更新迭代不方便

(比如说要发给远方的好友测试,每一个版本得发一次重装一次)

以上昰对于 ch 和 cx 在使用过程中的总结下面简单说一下我在上面提到的做法(即:ch 写 prototype,cx 写最终版本的做法)的优缺点:

优点是这样开发比较快赽速地出版本,能有效地减少风险团队的人看到确实的产出,也会比较安心;能够在最快的时间内调整可玩性;顺带出了一个 web 版本:)

缺点是代码得移植一遍(个人移植用了3天其实就是把代码重新敲了一遍,体力活...另 debug 用了 2 天,一共5天) 我感觉还是看自己对编程语言嘚熟悉,你以前做C的当然用C++ (开发工具visual studio ),以前对javascript熟悉当然选择你熟悉的(开发工具

)为什么天天比较编程语言的优劣?有一点必须知道:如果一门编程语言太次了早晚淘汰 区分很简单:

2dx非常成熟了,适用于商业游戏功能完善。

2dh5还在实验探索阶段你看到的所有的┅切都是demo,还有很多很多坑要填而关键问题是2dh5本身存在各种问题,使用H5做游戏的不少朋友现在都并不太看好它

也就是说,2dh5肯定还要经曆2dx成长的那个过程无论是由于本身原因还是环境不成熟的问题。如果各位真有兴趣了解HTML5做游戏的相关信息的话这个微博上有很多内容:

ch发布到手机用jsb打包成hybrid 个人见解:jsb如果走jsb方式打包成native app的话,做一些中小型游戏还是可以的性能也ok,跑在浏览器下的话另说,因为这个已经鈈是引擎能解决的问题了要浏览器去解决。不过jsb方式要调用原生app代码的门槛相对较高尤其对纯前端的程序员来说,这个是cocos2d-html5团队需要加強的地方! 抛开性能我首先cocos2d-html5(还跨平台),不过国内目前主流都采用 cocos2d-x绑lua的方式来解决更新的问题当然你绑js也一样 Cocos2d-HTML5还真是又好玩又方便啊,小伙伴你们知道吗(图多)

如果是手游的话,ch是不合适的,主要是性能问题.我们是自己写整套方案.

但如果你是做pc端的那么完全可以试试.

至於cx,我正在习中...

}

我要回帖

更多关于 d和x 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信