Cocos2d-x使用多年的思考和总结

10年就开始使用cocos2d-x了,当时还是用的0.9.x,现在都已经3.x了,这期间经历过太多次版本迭代,每次迭代都是一次新的学习,同时也让我对引擎有了更深的了解和思考.

1.UI编辑器是个非常头疼的问题,虽然其间有过各种各样的编辑器,cocosbuilder,cocosstudio,leveleditor等等,但到目前为止还没有一款ui编辑器能达到得心应手的地步,如果你曾经使用过unity3d的ngui,那估计是再也不愿用2dx做ui过多的游戏了,ngui是真正实现了把ui的大部分工作交给策划和美术来做,我想这也是cocosstuido的发展方向和学习的目标

2.开源的利弊,2dx是免费且开源的,这对很多个人开发者或者小型工作室来说是绝好的福音,创业之初我们公司只有6个人,在对比了市面上的所有免费2d引擎,再加上当时已经很火的cocos2d-iphone引擎后,我选择了2dx作为公司游戏开发的首选引擎,没想到这一用就是4,5年.2dx开源是件很好的事,任何功能都能自定义,有bug也能自己改,有不爽的地方改下引擎底层就好了,是的,我们当初就是这么做的,10年那版的引擎bug多如牛毛,我花了几个月的时间来改引擎bug,然后又花了几个月的时间来开发游戏,最后推出了帝国塔防1.现在想来还有点后怕,初生牛犊不怕虎,也不怕改出更致命的bug出来.甜头是尝到了,但是苦果也接踵而至,2dx发展到后期迭代太频繁了,而且后期出现了改变命名规则(比如去掉CC的烙印),精简api接口,使用c++11新特性等都会让上层调用代码伤筋动骨的版本,我有近两年时间什么都没做,天天就为整个优化维护和升级引擎,加自己的库,做ui插件等等,虽然现在我对引擎非常熟悉,也学到了不少好东西,但这种经历我不想再来一次.因此,开源很方便,但请尽量少的去改动引擎底层的代码,否则以后引擎版本迭代起来会很痛苦

3.跨平台的问题,2dx是跨平台的,但并没unity那么傻瓜,其实从android跨到ios还是有很多事要做的,如果开发者对两边的平台环境本身不熟悉的话,很头疼,2dx发展到如今大部分还是只能算图形引擎,很多要和平台或底层打交道的事还是要自己写的,比如jni调用,比如object-c和c++的相互调用,所以使用2d-x并不是掌握好引擎本身就够了,对发布的平台还是要有一定的了解,否则很可能出现开发游戏用了3个月,结果适配平台就用了1个月的后果.

4.序列帧动画的处理,2dx的序列帧动画就没好用过,我从使用2dx开始就重写了序列帧动画系统,后来发现自己写那套也不是很好用,又外包了一个动画工具,全部交给美术来处理,排好后程序只需要拿来用就行了,不过需要重点提一下的是,角色太多,场景太多的游戏真不适合用序列帧动画,虽然关系到游戏的美术风格,但使用骨骼动画很明显是一个明智的选择,内存占用,渲染压力,包的大小都要容易控制的多,我们现在的游戏由于美术风格的原因,没有采用骨骼动画,现在正为怎么压缩图片的大小而头疼不已.

先写到这里,待续...

相关文章

操作步骤 1、创建cocos2d-x工程 2、新建 Scene1.cpp Scene1.h Scene1.h代码 #ifndef __SCENE1_H__#defi...
开发环境:OS(WINDOWS 8.1 X64 企业版) cocos2d-x 2.2.1 vs2010 想给vs安装上cocos的模版,执行Install...
把创建项目做成一个批处理,当创建项目时可以省时省力很多。 操作步骤 1、在 E:cocos2d-x-2.2.1toolspr...
https://www.cnblogs.com/JiaoQing/p/3906780.html 四个响应函数 1 EventListenerPhysicsContact* evC...
转载于 http://www.cnblogs.com/kenkofox/p/3926797.html 熟悉js的dom事件或者flash事件的,基本都能立...
ScrollView(滚动容器)加载大量item时会导致游戏界面的卡顿,严重时整个界面会出现卡死的情况。最近项...