需求总是那么不经意间就产生的。最简单的一种办法就是一种颜色一个ccui.text, 不仅UI处理麻烦,而且代码写起来也非常的冗余。
// 设置字符串颜色(string and number color not same, include - +)
var setTextStringColor = function (node, numColor, strColor) {
var textString = node.getString();
var reg = new RegExp("[0-9]");
// 判断是否是数字
for(var i = 0; i< textString.length;i++)
{
var element = textString[i];
var lable = node.getVirtualRenderer();
var charLable = lable.getLetter(i);
var result = element == "-" || element == "+";
charLable .setColor(reg.test(element) || result ? numColor : strColor);
}
};
效果如下:
首先是获取到这个ccui.text的渲染器,通过getVirtualRenderer()
<