我要吐槽:文本篇

槽点:
1、Label不合并批次
2、勾边效果在有的平台上面无法使用
3、IOS上面使用系统字体,如果不把高度设高一点的话,在CLAMP模式下容易被切掉字的一部分
4、不提供阴影效果组件
5、富文本没有经过二次封装,过于原始

建议:
1、在以前自研引擎时代,关于Label的合并批次渲染,采用的方法基本上都是把文字自动渲染到一个Texture上,然后通过Texture去渲染合并批次。
2、在早期的端游时代,咱们采用的方法都是多次绘制的方法,简单易懂,加上上述处理,开销很小
3、系统字体的大小稍有差别,判断一下,然后修改一下高度就行。
4、也可以使用多次绘制的方法
5、游戏中使用富文本一般采用类似[#cFFFF00]这种方式,对于运营人员来说简单易学,门槛底,不需要闭环,他们最怕的是闭环,而且做这样的封装其实算法并不复杂

感谢提供的建议,这些都是目前引擎的不足。

不过最后一点,目前富文本是可以通过 BBCode 来使用的,可以用 #cFFFF00 这种方式来指定文本颜色。

富文本文档:http://www.cocos.com/docs/creator/components/richtext.html

现在的BBCode是需要闭环的,这对于非程序来说是很头大的

举个例子:text1[#cFF00FF]text2[#c00FFFF]text3
使用bbcode 为"text1 < color=#FF00FF > text2 < /color > < color=#00FFFF >text3 < /color >"

如果只是颜色,这样子问题不大,但是没办法和其他的 tag 统一起来处理。

text1[#cFF00FF][#s35]text2[#c00FFFF]text3[##]text4
[##]表示全部恢复默认
[#s35]字号大小为35
[#cFF00FF]色彩

话说MD也是尽量不用闭环,所以使用很简单

感觉你们的非程序人员有点次啊,我们的策划给我配置表的时候,我惊讶的发现,他给的富文本格式竟然和Creator的一模一样,完全不用我教:grin:

做过页游的策划应该都会,直接做手游的可能要教一下 。。。

上次看到一个贴子《你认为最NB的策划》里面很多人提说策划能写代码很NB:12:,我觉得这是一种病,得治。作为产品首要目标就是易用性,降低学习门槛,降低使用成本,让更多人关注自己业务本身。

你说的这种没有闭环的方式其实更简单,但是有点另类,HTML 标签容易学习(当然,这个是相对的,你可能觉得上面的简单。。。) 我觉得你可以在上层做一个包装,把你的格式转成 bbcod,然后再吐给现在的富文本组件。

我觉得目前这种 BBCODE 方式没有你说的这么难用,毕竟 Unity 也是用的这种。

现在就是这样做的,转为bbcode

其实markdown的方式非常好,简洁明了

我觉得你可以针对现在的富文本组件写一个支持 md 格式的富文本组件出来,然后贡献出来就可以了。

我还是坚持 引擎只需要提供一种大多数人认可和习惯的富文本格式就行了,其他的格式交给开发者去扩展。

1赞

markdown 不用闭环?

可能 了假 markdown
**我** 可能 *学* 了假 [markdown](https://guides.github.com/features/mastering-markdown/)

其他可以单发的 markdown 语法是和换行符一起作用的,不是真正的不闭环

1赞