对ui控件的一些牢骚

ui包里面的控件质量真的是太差了,基本就是一堆半成品。

  1. Layout部分借鉴了安卓的Layout,但是抄了点皮毛就没有下文了。
  2. ListView居然没有item复用机制,item数目一多UI就卡死,相比TableView直接是历史性倒退。
  3. ScrollView的回弹算法太差,还不如不要。
    4.与文本相关的控件没有一个能很方便使用自动换行的,EditText在IOS上居然只支持单行输入。

cocos2d-x都发展好几年了,到现在连最基本的UI控件都没有做好,总是一副半成品的样子,怎么对得起那么多开发者的支持。
对于3D功能,个人表示极其不看好,死掉的先例也不少,更何况连简单的2D还没搞好,真心不如好好把现有的东西优化好,做精。

看到王哲说3.8主要做优化,在github上看了以下最新的代码,这一块还是没有大的变化,有点失望。

:14: :14: :14: :14: :14: :14: :14: :14:

:2: :2: :2: :2: :2: :2:

:2::2::2::2::2::2::2:

— Begin quote from ____

引用楼主qunato于2015-08-14 17:00发表的 对UI控件的一些牢骚 :
ui包里面的控件质量真的是太差了,基本就是一堆半成品。

  1. Layout部分借鉴了安卓的Layout,但是抄了点皮毛就没有下文了。
  2. ListView居然没有item复用机制,item数目一多UI就卡死,相比TableView直接是历史性倒退。
  3. ScrollView的回弹算法太差,还不如不要。
    4.与文本相关的控件没有一个能很方便使用自动换行的,EditText在IOS上居然只支持单行输入。
    http://www.cocoachina.com/bbs/job.php?action=topost&tid=319393&pid=tpc

— End quote

感谢楼主的批评,UI 确实现在很烂。

  1. 关于 Layout 现在功能有限,而且部分实现也不好。确实存在很大的改进空间,我会在后续着手把它完善。
  2. ListView 和 PageView 的复用机制我会在3.9里面解决掉。
  3. ScrollView 的回弹算法,3.8已经有改善,楼主指的是3.8还是很差么?能够给出建议?
  4. EditText Android 平台在3.8我已经重新实现了,并且支持换行。至于 iOS 的换行,我打算在3.8正式版本发布之前解决掉。

UI 控件太多,而且历史遗留的坑很太多,我还得继续 努力。。。

非常感谢子龙山人的虚心回答啊~~~~,希望继续努力,我一直用的你写的UI模块,虽然有很多坑,但是我还是坚持用了,觉得总体还是不错的,希望继续加油!!!!!!

— Begin quote from ____

引用第5楼凤凰花开于2015-08-17 10:01发表的 回 4楼(子龙山人) 的帖子 :
非常感谢子龙山人的虚心回答啊~~~~,希望继续努力,我一直用的你写的UI模块,虽然有很多坑,但是我还是坚持用了,觉得总体还是不错的,希望继续加油!!!!!! http://www.cocoachina.com/bbs/job.php?action=topost&tid=319393&pid=1369693

— End quote

我只是维护 UI 模块,UI 模块不是我写的。。。
但是我希望哪一天我能够自豪地说,cocos 的 UI 是我设计的。。。 我想只能等到4.0了。。

— Begin quote from ____

引用第6楼子龙山人于2015-08-17 10:05发表的 Re:回 4楼(子龙山人) 的帖子 :

我只是维护 UI 模块,UI 模块不是我写的。。。
但是我希望哪一天我能够自豪地说,cocos 的 UI 是我设计的。。。 我想只能等到4.0了。。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=319393&pid=1369703

— End quote

看到你们和谐地对(gao)话(ji),我也就放心了。。。

求label的html标签支持

我以为引擎开发人员没有自知之明了,其实,我已经在背后骂你们无数次了。

另外,我想说你们别大跃进搞3d,先把2d的各种问题解决,
把各种编辑器都做到unreal编辑器的百分之八九十,
各种优化做完,到那时候再嚷着干掉unity.

3d比2d更复杂,更难,需要做的更多,别跑还没会,就学着飞。

再就是,触控现在要对引擎负责,别拿引擎免费开源找接口,
因为那么烂的东西,现在很多开发者被逼着用,因为这是老板和CTO决定的事。
触控别把那么多的资源拿来做推广和吹nb,cocos2d的名声已经够了,
多招一些高手优化和改进引擎才是正路。

— Begin quote from ____

引用第9楼osmanthus于2015-08-17 13:05发表的 :
我以为引擎开发人员没有自知之明了,其实,我已经在背后骂你们无数次了。

另外,我想说你们别大跃进搞3d,先把2d的各种问题解决,
把各种编辑器都做到unreal编辑器的百分之八九十,
各种优化做完,到那时候再嚷着干掉unity.
http://www.cocoachina.com/bbs/job.php?action=topost&tid=319393&pid=1369899

— End quote

说那几个开发没有自知之明,我不同意

更大的问题在于这个项目的几个负责人的技术,眼界,格局上,以及确实有不少客观条件的限制

— Begin quote from ____

引用第9楼osmanthus于2015-08-17 13:05发表的 :
我以为引擎开发人员没有自知之明了,其实,我已经在背后骂你们无数次了。

另外,我想说你们别大跃进搞3d,先把2d的各种问题解决,
把各种编辑器都做到unreal编辑器的百分之八九十,
各种优化做完,到那时候再嚷着干掉unity.
http://www.cocoachina.com/bbs/job.php?action=topost&tid=319393&pid=1369899

— End quote

我只想说很多事情没有你想得这么简单。

另外,关于 EditBox 的多行输入,只会在下个版本加下,3.8已经测试完了,不能再加新功能,谢谢。

作为用户,头脑当然简单,体验不佳,当然会发牢骚。

感觉cocos2dx别再把精力花在3D上了,首先现在2D部分坑多,不管是周边工具(编辑器还好点,编译器简直就是屎),完善整个开发环境
然后再把大部分精力放在3D,在2D的各方面完善在走3D也可以避免很多坑
现在这样一会2D,一会3D,结果是两头都有坑两头都得填,
而且谁TM会用cocos2dx去做3D

啊?UI::下面的不是你写的吗?我还以为这套新的UI都是你写的呢~~~UI::Text克隆出来的对象丢失描边属性,这个fix一下~

:4: :4: :4: :4: :4: :4:

文本控件很方便的自动换行什么时候能实现啊?富文本获取高度太蛋疼了。

— Begin quote from ____

引用第16楼wpj0304于2015-08-19 12:44发表的 回 4楼(子龙山人) 的帖子 :
文本控件很方便的自动换行什么时候能实现啊?富文本获取高度太蛋疼了。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=319393&pid=1371459

— End quote

注释掉下面的语句 _labelRenderer->setDimensions(0,0);

void Text::labelScaleChangedWithSize()
{
if (_ignoreSize)
{
// _labelRenderer->setDimensions(0,0);
_labelRenderer->setScale(1.0f);
_normalScaleValueX = _normalScaleValueY = 1.0f;
}
然后调用 setTextAreaSize to Size(450,0) 就可以限制宽度是450,然后高度自适应了。
同时也会换行。

这个解决方案是临时的,你可以测试一下,下个版本会修复。

— Begin quote from ____

引用第14楼凤凰花开于2015-08-19 11:30发表的 回 6楼(子龙山人) 的帖子 :
啊?UI::下面的不是你写的吗?我还以为这套新的UI都是你写的呢~~~UI::Text克隆出来的对象丢失描边属性,这个fix一下~ http://www.cocoachina.com/bbs/job.php?action=topost&tid=319393&pid=1371399

— End quote

这个问题是有原因的,因为目前 cocos 引擎只有 UI 框架的控件 支持 clone,而 label 和其它非 UI 的 node 都是不支持 clone 的,所以暂时没办法。
你自己手写一个 hotfix 吧。

看到王哲说3.8主要做优化,在github上看了以下最新的代码,这一块还是没有大的变化,有点失望。
3.8beta版发布了,对这块只字未提。是又变卦了吗?投资人逼的?