cocos2dx手游 Cocos2dx有什么区别

一、Unity3d***和***Cocos2dx有什么区别

1、UNITY3D和 COCOS2D-X都是跨平台的游戏开发引擎,COCOS2D是专门做IPHONE游戏的2D游戏引擎。

2、下面就从多个方面来对比阐述一下:

3、COCOS2D开源,有文档支持,论坛资料庞杂*大;

4、UNITY3D闭源,有强大的文档支持,论坛资料一样的庞杂*大。

5、开源对COCOS2D来说,意味着可以进行随心所欲的改造,可以更深入的了解各种游戏需求的底层实现原理,更可以订制出更符合自己要求的类库。

6、相对的,它的麻烦也不小,因为开源,所以可以随便改,因为可以随便改,所以很容易改错,而且调试维护的成本也会倍增,因为更接近底层,所以往往实现一个功能的时候或者自己要更费周折。

7、闭源对于UNITY3D来说,意味着更能方便的使用,更有质量保证,同时意味着偶尔有使用者看不到的想看的内容,想接近底层会花费巨大的代价,想订制一种自己的数据结构或者功能来添加进去的时候很难下手。

8、COCOS2D免费,免费意味着,服务差,很多程序员不想看到的现象会莫名其妙的出现,偶尔作者不小心出点意外什么的没有什么可以控制的方法…例如,作者一不小心使用了一种非常危险的方法来写代码,这个时候基本上使用者欲哭无泪,查起错误异常艰难,但是总能查出来.免费的好处是,有一天如果用COCOS2D做了一个很牛逼的游戏,可以正当光明的说,这个游戏是我们做的,游戏质量很好,而且不用恐惧有人冲过来收钱。

9、UNITY3D收费,收费意味着…服务真心是不错诶,U3D小组力求把麻烦留给自己,方便留给程序员,所以用着还真是爽,很多麻烦都被U3D消灭在萌芽阶段,真心好,但是,要钱的。

10、COCOS2D的跨平台,需要大量重写代码,面对各种平台的各种细节麻烦.所以当使用COCOS2D的时候,很多麻烦来了,于是再面对平台特定的更麻烦的问题的时候,程序员基础好很多,更容易搞定

11、UNITY3D的跨平台,程序员只需要选选按钮就淡定许多的搞定了,但是当面对U3D团队没有想到的平台特定的更麻烦的问题的时候,这个时候的程序员,需要使劲的“吃”键盘来克制自己内心的焦虑吧…

12、cocos2d压根就没往团队方面想,所以团队配合方面的工具,程序员基本自理,细节问题自理,麻烦问题自理,UNITY3D想了一些,做了很多,但是也有纠结的地方,程序员在没有完全理解的基础上使用会变得很难接受.值得一提的是,UNITY有强大的所见即所得能力,动态解释,现场执行,COCOS2D一直在向着这个方向努力,或许在未来某一天两者也会不相伯仲

13、COCOS2D是集体智慧,各路人马都提供了各种各样的工具,COCOS2D将他们整合到了一起,各种工具都有各种麻烦,也有各种好处,总的来说,花点精力还是有好结果的。

14、UNITY3D自家解决了很多麻烦问题,周边工具也有很多人做,但是,不开源,而且要钱,服务好很多。

15、COCOS2D拥有令人发指的可定制*,因为从C++写起,所以程序员可以为所欲为,为所欲为的代价就是,所有细节都要照顾,所有麻烦都要生顶(例如,写出的工具不跨平台,订制的数据结构无法通用,序列化一个类到其他平台之后无法反序列化等等)。

16、UNITY3D有一个专门为订制而写的类库,没怎么用过,但是可以确定的是,这个类库是跨平台的,这个优势很伟大。

17、这个U3D确实完爆COCOS2D,不过,要是不想做3D游戏呢?那多余的3D功能也会很累赘。

18、总而言之,两家都是游戏引擎的大家,两者都能适应不同的需要,各具特色各有特点,估计谁也灭不了谁。

二、怎么在cocos2dx的基础上学习opengl,shader

从第三个手游开始,我实在被Adobe的ANE和国内的**台折腾得没了脾气,决定转到cocos2d-x。在选择哪种语言绑定的时候纠结了很久,*后力排众议选了 lua:Cocos2dx+lua合适还是Cocos2dx+js合适? cocos2d-x 2.x的lua绑定做得并不好,于是我选择了 quick-cocos2d-x(后来,quick被触控收购)。

C++ Primer中文版(第 5版)(豆瓣)是不错的入门书籍,建议看第五版,我写过一篇 C++Primer第4版和第5版比较。学习期间建议画一些思维导图帮助理解和整理思路。例如这个(不完整):

编译 cocos2d-x自带的 TestCPP项目,全部跑一遍。*悉 cocos2d-x API的用法。记得用doxygen生成文档,建议每个API的功能都浏览一遍。

有的同学可能更喜欢直接看源码,那当然更好。不过文档有一个好处就是能更直观地显示继承关系。

学习DEMO的过程中,你必须*悉自己开发平台的IDE,例如Windows上必须*悉 Visual Studio,而OS X上必须*悉xcode,Linux平台上就*悉Eclipse+CDT吧。

注意,quick-cocos2d-x是不支持Linux开发平台的。

2014-05-17更新:quick已经使用QT重写了player部分,但依然不支持Liunx平台。

基于 cocos2d-x源码生成的文档并不怎么详细,许多功能必须看源码。但这个阶段,我不建议纠结源码太深,倒是可以纠结一下 cocos2d-x的文件夹结构,看看各个类放在什么地方,找一找常见的哪些宏和常量以及枚举定义在什么地方,这花不了多少时间,但能让你对cocos2d-x有更深刻的了解,同时给你很强的成就感。这种成就感冲淡了你面对大量源码时候的无力感,让你能够继续前行。

1.5重复上面的第3步:再次学习DEMO

这时候看DEMO可能会轻松不少,但是你会有更多的问题去纠结。例如多分辨率支持?例如坐标系统?例如绘图功能?例如层级管理系统?例如**传递系统?等等等等……这时候可以去Google(注意不要用百*和其他搜索引擎)找文档看了。

1.5重复上面的第3步:再次学习DEMO

这时候看DEMO可能会轻松不少,但是你会有更多的问题去纠结。例如多分辨率支持?例如坐标系统?例如绘图功能?例如层级管理系统?例如**传递系统?等等等等……这时候可以去Google(注意不要用百*和其他搜索引擎)找文档看了。

阅读剩余 0*
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。