cocos2dx 3.0正式版重大bug,iOS字体渲染不全,真的很生气,很生气

我也遇到,这个bug自己在cocostudio里随便拉个文本控件,在ios里就马上看到了。不需要重现的sample。这个问题确实比较大,希望官方能尽快解决。

哦 那就是环境不一样 我用代码写的label 好像没出现这样的情况

相信大家都很忙,互相谅解下。
但是有空的时候返回看看,有人回答了,给个回复。
一段时间后,如果解决了,结贴、附上问题所在以及解决方法。
方便后来者,以及增长围观者的’姿势’。:14::14::14:
如果还没解决,可以再次发帖或联系版主。
相信大家都是高智商人才,不用什么都想当然。:2:

我错了,真的不该那么说,我要说声对不起,当时确实是太生气了,但我只是很单纯的生气,绝没有其他什么意思,是因为我每次看到3.0更新了就很开心,就马上把项目移植到最新版,但是每次都有很大失望,从rc1到rc2到正式版。。长期积累下来就导致了我抱怨很深,请见谅!!!以后一定会改正的,不会那么大抱怨,多点宽容。。。

测试环境: ios模拟器6.1

直接用cocostudio,里面拖一个按钮,或者放文本控件,再导出,代码里面加载导出的Exportjson,就看到效果了

楼主因爱成恨呐,哈哈~!

搬个板凳看热闹:14:

有什么好道歉?他们出了bug还要用户道歉?太天书奇谭了。

— Begin quote from ____

引用第21楼fqq3512863于2014-04-28 20:34发表的 :
我错了,真的不该那么说,我要说声对不起,当时确实是太生气了,但我只是很单纯的生气,绝没有其他什么意思,是因为我每次看到3.0更新了就很开心,就马上把项目移植到最新版,但是每次都有很大失望,从rc1到rc2到正式版。。长期积累下来就导致了我抱怨很深,请见谅!!!以后一定会改正的,不会那么大抱怨,多点宽容。。。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=199615&pid=939577

— End quote

第一,他们出的问题是,这个bug修复后又做了新的变动,导致现在的问题,你自己可以去看github的修改记录

第二,笑死人了,老子听过开发者要把用户当作上帝捧着,老子第一次从你这些土鳖那里听说用户要对开发者有什么”态度“?态度?用户对于开发者除了挑剔和喷的态度,就没什么别的好做!谁给你说用户还有帮你调试和测试的义务?当然,以你从小接受”提意见没关系,态度要端正“这种教育成长的大脑,显然是不可能从智力上理解的。

第三,别拿什么开源来扯,现在cocos2d-x的开发者都是拿高薪的,又不是工作之外业余时间来贡献代码,这就是他们的全职工作。again,这对你来说仍然是超越智力理解范围以外的领域。

— Begin quote from ____

引用第17楼much13于2014-04-28 17:12发表的 回 16楼(likexx) 的帖子 :
那不是态度是什么 自己去看他前面的帖子 楼下别人都反馈怎么改了 也不知道他自己照着去做过没 ,至少也要给个反馈,回复别人那样不正确 他什么也没做过 所以就没下文了 OK?而且别人也给他测试,没能重现出这种情况,所以我第一次也回复他帖子 就让他写过小demo传上来,所以呢?就这点来说我就是看不好LZ 动不动就扯什么洗脑 当美分狗当疯了吧,别扯那么多 看你那语气,貌似你的道德批判比我高多了 自重 你以为你换个马甲就不认识你了 http://www.cocoachina.com/bbs/job.php?action=topost&tid=199615&pid=939377

— End quote

我只想说 伸手党 一边玩去…人家该你的啊,凭什么给你提供服务,你给人家提供什么了?开源以后,你自己不会修改啊,伸手党也出来叫唤真是看不下去了

会哭的孩子才有奶吃!

什么态度?什么语气要好?

有个P用!

遇到bug,只有跳出来叫、闹!让他们不得不必须用最快速度fix,直接打老子脸,直接让老子没话可说,那就达到目的!我们的目的就是要顺畅地使用,态度?那是什么东西?可以让bug瞬间修复么??

只要修复了!只要找到解决方法!要羞辱还是打脸,悉听尊便,只要找到解决方案!

找不到,sorry,那就只有继续闹,继续打触控的脸。

— Begin quote from ____

引用第21楼fqq3512863于2014-04-28 20:34发表的 :
我错了,真的不该那么说,我要说声对不起,当时确实是太生气了,但我只是很单纯的生气,绝没有其他什么意思,是因为我每次看到3.0更新了就很开心,就马上把项目移植到最新版,但是每次都有很大失望,从rc1到rc2到正式版。。长期积累下来就导致了我抱怨很深,请见谅!!!以后一定会改正的,不会那么大抱怨,多点宽容。。。 http://www.cocoachina.com/bbs/job.php?action=topost&tid=199615&pid=939577

— End quote

笑死,开源不过是你触控一个商业策略,那帮人拿着高薪全职开发还指望靠这个东西去上市的,你不领悟你们陈昊芝老板的目标,反而拿出开源的幌子来逃避责任?

你要说凭什么?就凭我们是用户,而触控圈钱拿投资也是靠用户数量,而他拿到的投资大半用来付给cocos2d-x的开发和推广。你还以为现代商业模式是必须收费才算用户么?

— Begin quote from ____

引用第27楼触控-cocoa于2014-04-29 10:41发表的 回 26楼(likexx) 的帖子 :
我只想说 伸手党 一边玩去…人家该你的啊,凭什么给你提供服务,你给人家提供什么了?开源以后,你自己不会修改啊,伸手党也出来叫唤真是看不下去了 http://www.cocoachina.com/bbs/job.php?action=topost&tid=199615&pid=940044

— End quote

心平气和地!玩车的朋友请关注:http://url.cn/O9SYiW

能理解楼主为什么生气,很多人都在公司的项目中使用了2d-x,当引擎出现问题导致项目延期,所承受的压力会非常大,但是又不知道应该怎么去解决,所以有点急躁我觉得都可以理解的。
其实我觉得目前引擎的给人的感觉有点像360,它也是免费的,但是背后也是有一个全职团队专门维护,而背后的公司也靠这个概念创造了商业价值,这也是大家觉得自己是用户的感觉来源。
总之cocos有风险,使用需谨慎。

好了。不要再争论这个问题了,这里是技术区,要讨论技术以外的东西请移步水区。

还是那句话,我们乐于接收各种吐槽。悉心听取您的所有意见反馈。

回归这个原帖的问题。

楼主的提问,引擎组都有在回复,处理,甚至有在追问是否有解决。
http://www.cocoachina.com/bbs/read.php?tid=196859
论坛内的很多小伙伴也都在热心帮忙楼主解决这个问题。

楼主不用感觉压力或者其他什么的想法。有问题请继续提出,有bug请继续反馈,有吐槽点请继续吐槽。
你们的每一点意见都是我们进步的动力。

感谢你们对Cocos2d-x的支持。(另外楼上的楼上那个小广告是想趁乱火一把么。。:12::12::12:

楼主非常抱歉,是我们没做好。一定第一时间尽快修正。http://www.cocoachina.com/bbs/read.php?tid=196859#920846 ]

谢谢大家的鼓励和指责,您的声音我们都会第一时间听到。

我不确定帖子里是否有我们的员工,不过CocoaChina也开了这么多年了,我们没有骂用户的传统,有人告诉你问题,自然就要感恩。

至于cocos引擎层面,这个引擎始终是开源免费,没有夹杂任何不可告人的东西,未来也一样,我们从来没有觉得什么事情自己做的是脏的。我们认为这是价值的一种体现,能推进这个引擎是我们能对行业最大的贡献。所以我们坦然投入,自然也希望您坦然使用,有问题尽管提,也尽管坦然地放下筷子骂娘,因为我们没做好的事情我们自己会认。无社区不开源,希望大家能一起努力,都能够为行业前进做出些贡献。

这是因为 coco2d-x 3.0* 在 iOS 下 ui::Text 默认都被带上了灰色的 outline,包括 TextField、Button 似乎也是。对黑底白字影响很大,对黑字影响不大

我说下自己的临时解决办法吧:

1、iOS 上最后调用 cocos2d/2d/platform/ios/CCDevice.mm 去获取文字 texture,你可以试着改_initWithString() 函数,比如尝试一下用 kCGTextFillStroke 替换 CGContextSetTextDrawingMode(context, kCGTextFill); (我改了,影响全部不是很好)
2、可以尝试修改 cocos2d/2d/shaders/ccShader_Label_.h 那些(我改了,没效果,但我不熟这些)
3、你自己特殊对某些 ui::Text 加 outline 吧 ((Label
) txt ->getVirtualRenderer())->enableOutline(Color4B( txt ->getColor()), 1);
4、根据 3 的基础,去修改 cocos2d/editor-support/cocostudio/WidgetReader/TextReader/TextReader.cpp

在 void TextReader::setPropsFromJsonDictionary(Widget *widget, const rapidjson::Value &options)
最后加一段

#if 1
if (label->getOpacity() == 254)
((Label*) label ->getVirtualRenderer())->enableOutline(Color4B( label ->getColor()), 1);
#endif

然后,你明白的,在 Cocostudio UI Editor 布局时,对需要特殊处理的 Label 设透明度为 254

— Begin quote from ____

引用第34楼liangx于2014-04-29 15:48发表的 :
这是因为 coco2d-x 3.0* 在 iOS 下 ui::Text 默认都被带上了灰色的 outline,包括 TextField、Button 似乎也是。对黑底白字影响很大,对黑字影响不大

我说下自己的临时解决办法吧:

1、iOS 上最后调用 cocos2d/2d/platform/ios/CCDevice.mm 去获取文字 texture,你可以试着改_initWithString() 函数,比如尝试一下用 kCGTextFillStroke 替换 CGContextSetTextDrawingMode(context, kCGTextFill); (我改了,影响全部不是很好)
http://www.cocoachina.com/bbs/job.php?action=topost&tid=199615&pid=940439

— End quote

多谢!

就你这么自私的人还当开发者?自己认为自己多牛逼在别人眼里也是三流的或者、不入流。。。。

目前这个问题已经解决,解决办法在https://github.com/cocos2d/cocos2d-x/pull/6553/files

待下个版本将会发布出去。