不推荐使用cocos2d-x 2.1.1

2013-03-06 22:12:00 +08:00
 guoxx_
申明:不推荐用cocos2d-x是我现在的看法,同时为了保险起见也限定了版本号为2.1.1,其实我想表达的观点是,不要使用cocos2d-x!!

1. 从官网下载cocos2d-x的最新版本2.1.1,结果里面的LuaCocos2d.cpp根本就是旧的,新的api在lua里根本不能用,tolua++下的一一堆pkg文件也都是旧的,想要自己生成LuaCocos2d.cpp还要重写pkg文件。JS Binding不知道什么情况,不管怎么样,这样的包都能做为stable release发出来,我对他们的QA系统严重怀疑。
2. 一些实现让人很是疑惑,例如对retina的支持,google了一下说是默认就开始了retina的支持,这个倒是不假,问题是CCDirector里的setContentScaleFactor,getContentScaleFactor现在拿来干什么用呢,如果我setContentScaleFactor(2.0)那么得到的CCSprite大小会变成原来的0.5,这显然不是我想要的。如果setContentScaleFactor(1.0)/*相当于什么都不做*/,那么CC_CONTENT_SCALE_FACTOR()得到的结果也会是1.0,这也显然不是我希望的结果,而且注释上写的是On iPhone it returns 2 if RetinaDisplay is On啊,这不明显坑爹嘛??
3. 妄图用c++来实现objc,可能是移植与cocos2d-iphone的原因, c++代码里充满了objc的味道,用多重继承来模拟Protocol,对于从objc->c++的同学,徒增学习成本。
4. extension里的代码质量不高或者说低下,CCTableView里bug一堆,Lua Binding也没有,HttpRequest居然还依赖于CCDirector的Scheduler,就不能抽象一个Timer用不同OS的实现吗?


另外,我觉得垮平台的游戏引擎,不能考虑生成OpenGL的lua binding之后,用lua来实现一个吗?这样不是比cocos2d-x更好的跨平台方案?以上只是个人的一些发散,欢迎讨论.
7406 次点击
所在节点    iDev
7 条回复
lxk19921205
2013-03-25 10:14:04 +08:00
关于retina支持的那个,我想说:
那个On iPhone it returns 2什么的注释应该是过时的,我不知道为啥还留在那里..... 去发个pull request呗?

官方关于多分辨率适配的文档在这里:
http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Multi_resolution_support
里头有说明CONTENT_SCALE_FACTOR的意义已经变了

还有一篇群众写的似乎被官方微博转过的文档..:
http://user.qzone.qq.com/296821855/blog/1355237929#!app=2&via=QZ.HashRefresh&pos=1355237929
dualface
2013-03-25 11:20:54 +08:00
guoxx_
2013-04-02 23:32:44 +08:00
@dualface 大致看了一下,东西还是不错的,比原生的lua binding强。你们大规模使用cocos2d-x + lua吗?有没考虑过为cocos2d-iphone开发lua binding?

之前用过cocos2d-iphone 现在考虑到跨平台选择用cocos2d-x 最近感觉cocos2d-x + lua binding越用坑越多 c++在动态性上比objc差太多 导致原来很容易实现的功能在x里需要费很大的力气或者一些dirty hack才能办得到(其中tolua的绑定方式也有不少功劳)
jacklin
2013-04-03 00:34:27 +08:00
呵呵,只能说还好
darkfall
2013-04-03 01:48:13 +08:00
呵呵, cocos2d-x所谓的跨平台不是个笑话么. 代码质量我就懒得喷了
mosant007
2013-06-03 14:36:00 +08:00
估计以上都是oc开发的观点,就C++开发而言,跨平台还是很重要的
mosant007
2013-06-03 14:38:54 +08:00
而且很多东西不一定都要依赖引擎,比如说自适应,完全可以自己写,没有啥复杂的算法。cocos2d-x还是比较牛逼的,特别是有周边强大的UI编辑工具,做游戏的不应该为为UI写多余的代码,UI完全可以用编辑器完成,毕竟这个写UI代码不是啥技术含量的东西,重点还是数据处理,和逻辑流程,所以这里就无所谓用啥语言,而重点是引擎可以支持UI编辑解析

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/62152

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX