【子龙山人在召唤】来给gui吐槽吧!

小伙伴们对Cocos2d-x的GUI有意见和吐槽吗?

子龙山人(掌声,撒花。。。)现在负责GUI的设计和维护,如果大家有什么意见或者需要吐槽的地方,可以反馈到这个帖子中。

他本人会来收集每一条用户反馈,作为设计参考,您的每一点意见对我们来说都是宝贵的资源。

我还是把格式规范一下,大家直接粘帖回复,会比较直观抓住要点。

格式:

  1. 控件名称:

  2. 槽点:

3.改进建议:

4.希望添加的功能:

  1. 控件名称:2.2版本的CCLabelTTF

  2. 槽点:描边呀阴影呀什么的都是调用底层API的,win32表示看不到效果很无奈。而且底层描边是内描边的。如果中文显示可以指定编码就好了,VS下用UTF-8就是个蛋疼。还有那种段落开头不是要空两格嘛,win32是没事,android上就有问题了。

3.改进建议:虽然没用过3.0,不过貌似3.0的label高大上,要不把2.2也改成跟3.0一样

4.希望添加的功能:行距呀间距呀下划线呀,竖排(古时候书那样的)

  1. 控件名称:cocostudio1.3出的RichText控件

  2. 槽点:中文换行就是个BUG,2.2版本要加触摸比较蛋疼。

3.改进建议:先把中文换行bug解决了吧。

4.希望添加的功能:解析HTML

好的,不错的建议。不过windows平台上面的一些特性优先级可能没那么高,我们要优先考虑ios和android上面的实现。不过我会把这些纳入到以后版本的实现计划中去。

  1. 控件名称:cocostudio的ScrollView控件

  2. 槽点:没找到滚动结束事件,因为需要滚动结束自己校正位置。

3.改进建议:加上这个事件吧。

4.希望添加的功能:这个控件基本也就这些功能吧

  1. 控件名称:CCSprite

  2. 槽点:感觉setTexture与create(filename)不对应,用起来木有感觉

3.改进建议:我要setImage 我要setImage 我要setImage 我要setImage 我要setImage

4.希望添加的功能:我要setImage 我要setImage 我要setImage 我要setImage 我要setImage

1.控件名称:cocostudio的新版ListView控件

2.槽点:比旧版好用了,不过没复用了。2.2.2版本竟然没区分点击和放开事件,2.2.3版本倒是有了。cell里面加个按钮,跟拖动的触摸事件就冲突了。对了,想添加新的cell,让其滑到最底部得延迟一帧才行,因为它是一帧后才改变尺寸的。

3.改进建议:
能不能加个自动校正位置的功能,例如最靠近中间的cell移动到居中。

4.希望添加的功能:循环滚动

不对应是什么意思?能具体说明一下么?这样我好改进。

1.控件名称:其实我就是吐槽下2.2的触摸事件

2.槽点:

if( m_eTouchMode == kCCTouchesAllAtOnce ) {
pDispatcher->addStandardDelegate(this, 0);
} else {
pDispatcher->addTargetedDelegate(this, m_nTouchPriority, true);
}

为何单点触摸不能自己设置是否吞噬,为何多点触摸不能自己设置优先级。

想设置按钮不吞噬就蛋疼了,至于按钮为啥要不吞噬呢,我也不知道,反正有人问过我这问题。

3.改进建议:无

4.希望添加的功能:无

— Begin quote from ____

引用第7楼子龙山人于2014-04-10 15:34发表的 回 5楼(giuve) 的帖子 :
不对应是什么意思?能具体说明一下么?这样我好改进。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=197513&pid=923483

— End quote

目测是说一个传的是图片名字,一个传的CCTexture2D,估计想直接通过图片名字改变图片

create的习惯是用一个文件名来初始化,而换图片却只能用setTexture,如果有一个setImage(filename)的方法来更换图片,会不会更符合习惯?

:14: 嗯嗯,就是这个意思

ok。我考虑后续版本提供一个这样的接口。不过最后是否添加这些接口,我们是需要讨论的哈。如果不添加,我会给你理由滴。

— Begin quote from ____

引用第11楼giuve于2014-04-10 15:41发表的 回 9楼(孤独の快乐) 的帖子 :
:14: 嗯嗯,就是这个意思 http://www.cocoachina.com/bbs/job.php?action=topost&tid=197513&pid=923500

— End quote

gui应该和cocostudio也有关吧,我个人希望

1.要么你就一套资源解决所有分辩率(这个好像有点。。。。。。。)

2.分几套分辨率,住里面放不同的分辨率的资源,希望能做到全自动?(这个好像也有点。。。。。)

前几天测了一下cocostudio,说会自动适应分辨率的,感觉没有。。。。。。:12:

  1. 控件名称:cocostudio的Button

  2. 槽点:点击放大竟然只是底图放大,按钮上添加的子节点不会跟着放大,好蛋疼啊

3.改进建议:子节点应该跟着底图一起放大的。

4.希望添加的功能:互斥按钮(也就是多选一)

  1. 控件名称:CCEditBox

  2. 槽点:不设置字体名字就不让改字体大小,害得我查了老半天的错误。一定要有背景图片,我只能搞个1像素的透明图片给它了。没法设置文字的显示区域,文字也没法换行。

3.改进建议:可选择要不要背景图片。

4.希望添加的功能:设置文字在editbox内的显示区域,单行超过宽自动移动到最后,多行的自动换行超过高自动移到最后。好吧,我知道我的要求很过分

  1. 控件名称:无

  2. 槽点:cocos2d-x和cocostudio的控件混合使用,一会儿addNode,一会儿addChild。cocos2d-x的控件(例如CCEditBox之类的)父节点隐藏就不会触摸,cocostudio的控件照样可以。cocos2d-x的node是左下角为坐标原点,cocostudio的widget是锚点为坐标原点。2.2版本下的触摸机制还不一样。

3.改进建议:UI控件搞成一套吧

4.希望添加的功能:无

  1. 控件名称:cocostudio的PageView

  2. 槽点:只有滚动到某页,没有跳转到某页。

3.改进建议:想要这么一个功能,如图

当初是打算取消PageView的裁剪,放到一个设置裁剪的图层上,最后发现这样滚动只有中间那个区域,也不行。

4.希望添加的功能:循环滑动。

2.x版本可能不会再做这方面的改动了(当然,如果开发者强烈要求修改,也是可以滴)。不过3.1版本,我们会把ui统一成一套。同时会修复你刚刚说的这些问题。

— Begin quote from ____

引用第16楼孤独の快乐于2014-04-10 16:11发表的 :

  1. 控件名称:无

  2. 槽点:cocos2d-x和cocostudio的控件混合使用,一会儿addNode,一会儿addChild。cocos2d-x的控件(例如CCEditBox之类的)父节点隐藏就不会触摸,cocostudio的控件照样可以。cocos2d-x的node是左下角为坐标原点,cocostudio的widget是锚点为坐标原点。2.2版本下的触摸机制还不一样。

3.改进建议:UI控件搞成一套吧
http://www.cocoachina.com/bbs/job.php?action=topost&tid=197513&pid=923557

— End quote

你这个需求跟listview有啥区别呀? listview现在支持连续滚动

— Begin quote from ____

引用第17楼孤独の快乐于2014-04-10 16:19发表的 :

  1. 控件名称:cocostudio的PageView

  2. 槽点:只有滚动到某页,没有跳转到某页。

3.改进建议:想要这么一个功能,如图
http://www.cocoachina.com/bbs/job.php?action=topost&tid=197513&pid=923563

— End quote