Comments (5)
谈谈你对3.x的感想, 有什么必须要用3.x的理由没有. 2.x已经很久没有实质功能更新了, 他们应该已经放弃维护了, 我在考虑是否要接管2.x版本
from cocos2dx-better.
主要的感受有几点吧:
1.封装得更紧凑了,这无形中带来了不少学习成本,尤其是针对每个平台的部分,更是让初学者摸不着头脑
2.3.x里的label反正是彻底换了实现方式,用了freetype,至于效率,我觉得应该比2.x的要好点,2.x的思路是bitmap转CCImage再转texture,当文字较多时效率真的差很多。
3.其他的东西改了不少,但我没认真研究了,大体感觉差不多,无非是优化了思路、代码或效率,例如加上自己的数据结构等。
4.加了3d部分,没敢去碰。
4.我见过一个触控的人出来,说他们下一步的重点会是3d部分,这部分主要是北京这边负责,2d还是厦门那边,至于设计方向性的问题基本交给美国那边了。
5.我使用了脚本lua,发现3.x里要自己绑定是一件非常复杂的事情,这个对经验不足的人来说绝对会头疼,在2.x里绑定lua只要写个pkg,在注册下就好,所以很容易上手,3.x里就麻烦了,引擎设计者为了减去编写pkg的麻烦,将很多东西都整合到一套脚本里,所以如果想学习深入点,必须得认真跟进去,才能理解设计者的意图,而且3.x里的lua绑定这块对c++lambda表达式的支持也没认真处理,现在居然直接在源码里提示不支持(其实是有方式解决这个问题的)。
其实要说转3.x的必要性,我觉得不是必要不必要,而是要早还是要晚罢了,2.x确实维护得不多了,上一次2.x比较大的更新其实是对wp8的支持做了优化,之后就没什么实质的了。
总之,2.x其实学起来很简单,但3.x会复杂,如果要接管2.x,还是得耗费不少精力,而且有很多值得完善的,之前您的wiengine其实还不错,如果可以取长补短,加以维护,2.x还是可以做得更好,但这就看精力是否充沛了。
不过实话实说,不管2.x维护得好不好,以后优先被选择的还是3.x版本。
from cocos2dx-better.
谢谢, 挺有帮助. 我还没实际用过3.x, 只不过从他们的更新记录上判断, 觉得没有必要升级, 不过由于2.x不再维护, 大部分人应该还是跟随了他们的脚步. 我说的"接管"可能重了些, 只是打算弄一个经典版本, 或者叫古典版本, 或者叫私人定制版本, 把积累的东西整合起来.
cocos2d的基础架构(即CCNode, CCAction这一套)是稳定的, 他们不太可能去改. 3.x对基础架构的改变主要是渲染流程做优化, 开始排序批量处理了. 对于他们宣称的性能提高了多少多少我不是很信, 而且对于2d手游来说, 渲染性能成为瓶颈的时候不多, 他们改变渲染流程我觉得主要是为了3d, 但是3d的工具链可不是一日之功, 要选3d引擎, 多少年内我觉得也轮不到cocos.
所以cocos2d在很多人眼里应该就是定位于2d引擎的, 2.x版本从基础架构上来说是很容易理解和使用的, 但是他们对细节极其不关注, 带来了bug, 设计缺陷, 功能不足, 使用不便这样的坑爹体验, 每个人可能都踩了不少坑, 也动手填了不少坑. 一个填了不少坑的2.x其实是相当够用的, 3.x那些花哨的玩意不见得有多大意义. 不过, 他们做的cocostudio还是有意义, 至少写界面容易了一些, 当然, 用起来还是一堆坑, 我也给cocostudio填了不少.
就像上面说的, 我其实只是为了弄个私人定制版本而已, 也不打算花很多时间, 主要就是为了把better的代码真正融合进去, 而不是继续作为外挂存在了, 而且有些外挂也弄不了, 只能改原始代码. 另外, 貌似quick-cocos2dx只面对3.x吧, 我也打算参考一下弄到2.x里面去. 所以基本的设想是做一个cocos2dx, better, quick三合一的2.x版本, 而且只支持ios和android, 其它平台没用的都删, 更清爽, 因为我日常都是用mac.
这样, 又有稳定的2.x, 又填了坑, 又有lua支持, 又有勉强能用的界面编辑器, 才算是好用一点吧. 我创建了一个空库叫cocos2dx-classical, 也是这么个意思, 希望整一个古典的, 经典的cocos2dx版本.
只是最近国内github同步巨慢, 开始不了~.
from cocos2dx-better.
我也是一直用mac,所以自己平时添加的东西完全没考虑win平台的,我们去年做了个wp8平台,花费了近4个多月甚至是半年的时间才将之前的游戏搬到wp8上面,这个过程其实相当麻烦,坑也是不少,结果搞完之后他们又更新了2.2.5版本,针对wp8做了不少工作,这时才发现我们做的太早了,很多问题之前都是我们自己搞定的。
你说的经典版本,我觉得很不错,如果要做,我觉得这个时候可以稍微放开点,之前一直为了不动源代码,导致蹩手蹩脚,很影响效率。
如果我做这个经典版本,我至少会做几点:
1.将引擎改成支持c++11,这个很好改,改完之后编码效率会高点。
2.保留wp8平台,其他的都去掉,我觉得wp8平台还是又必要留住,因为现在还是有不少公司做了wp8平台的,月流水几百万的游戏也有了。
3.将lua的支持做的更好,异步更新的优势还是非常大的。
4.还是有很多bug需要修改的,甚至设计都可完善,举个最简单的例子,CCNode有个方法叫 setUserObject(CCObject* obj),看代码:
CCNode* node = CCNode:create();
node->setUserObject(node);
此时的node就无法自动释放了,因为它自身retain了自身,我觉得这个地方的设计很怪。
5.提供更好用的UI,现在的UI真的不好用。
from cocos2dx-better.
- 改成c++11这个想法倒是可以
- 接触wp8很少, 看时间吧
- 学习借鉴quick
- 哦, 我一般用setUserData, 他不retain, setUserObject用的少, 让setUserObject不retain就行了吧
- 写ui费劲, better里面改了不少, 其它有些无法用外挂方式的改动我就没放better了. 给wiengine移植过CEGUI, 基本能跑, 但是有个别bug, 而且那玩意感觉还是太重了, 虽然功能是很强.
from cocos2dx-better.
Related Issues (20)
- CCImage_richlabel_ios.mm line 610 CCImage & CCImage undeclared HOT 6
- 新bug
- One suggestion HOT 8
- iOS project Target Dependency HOT 1
- RichLabel不能读取Resource文件夹以外的图片
- 在android上label还是会有纹理丢失的问题。 HOT 4
- 这里有点泄漏
- 小问题
- Socket issue HOT 4
- label的问题 HOT 1
- CCRichLabel ,显示不出来 HOT 1
- label的图标问题 HOT 9
- get embedded image bound HOT 3
- crash after setLinkTarget HOT 2
- Crash HOT 6
- Crash HOT 2
- memory leaks on Android ! HOT 6
- Android平台文字颜色问题 HOT 4
- 安卓手机下,图文混排图片和文本的位置有重叠,换行后,图片位置乱了
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cocos2dx-better.