其实基本原理也很简单,就是先画一个渐变层图片(可以用PS或者随便什么搞出来,牛的可以自己用脚本画),大小和游戏字体一个字的大小相等或者略大。例如游戏字体是25号,图片就是25x25。
var ll2 = new Layer(kag, kag.fore.base);
with(ll2){
.loadImages("text_color_01");
.setSizeToImageSize();
.setPos(0,0);
.visible=false;
}
var wd=ll.font.getTextWidth(ch);
var wh=ll.font.getTextHeight(ch);
ll.operateRect(dx,dy,ll2,0,0,wd,wh,omPsMultiplicative,255);
KR里消息层上文字的描绘是在ll(LineLayer)上进行的,找到messageLayer或者MessageLayerOverride里对应的ll.drawText的行,然后在下面填写代码即可。
dx和dy是文字在当前linelayer上的位置,ch则是接下来要描绘的文字,因为KR默认文字是一个个字蹦出来的,每次准备描绘的也就是一个字。在这个字上以乘算方式显示渐变图片,也就达成了渐变显示的效果。