drawTextBox \f 8 parameters

This commit is contained in:
ckcz123 2019-03-15 16:39:40 +08:00
parent 6a22e27e09
commit 198f592962
2 changed files with 7 additions and 4 deletions

View File

@ -255,7 +255,7 @@
从V2.5.3以后,也可以使用`\f[...]`来同时绘制一张图片。
其基本写法是`\f[图片名,起始x像素,起始y像素]`,或者`\f[图片名,起始x像素,起始y像素,绘制宽度,绘制高度]`。
其基本写法是`\f[img,x,y]`,或者`\f[img,x,y,w,h]`,或者`\f[img,sx,sy,sw,sh,x,y,w,h]`。
需要注意的是这个图片是绘制在UI层上的下一个事件执行时即会擦除同时如果使用了\t的图标动画效果重叠的地方也会被图标动画给覆盖掉。
@ -263,7 +263,8 @@
"x,y": [ // 实际执行的事件列表
"\t[勇士]\b[up,hero]\f[1.png,100,100]以(100,100)为左上角绘制1.png图片",
"\t[hero]\f[1.png,100,100]\f[2.png,300,300]同时绘制了两张图片",
"\f[1.png,100,100,300,300]也可以填写宽高,这样会把图片强制进行放缩到指定的宽高值"
"\f[1.png,100,100,300,300]也可以填写宽高,这样会把图片强制进行放缩到指定的宽高值",
"\f[1.png,64,64,128,128,100,100,128,128]裁剪1.png上以(64,64)开始的128x128图片并绘制到画布的(100,100)处"
]
```

View File

@ -686,14 +686,16 @@ ui.prototype.drawTextBox = function(content, showAll) {
// drawImage
content = content.replace(/(\f|\\f)\[(.*?)]/g, function (text, sympol, str) {
var ss = str.split(",");
if (ss.length!=3 && ss.length!=5) return "";
if (ss.length!=3 && ss.length!=5 && ss.length!=9) return "";
var img = core.material.images.images[ss[0]];
if (!core.isset(img)) return "";
// 绘制
if (ss.length==3)
core.drawImage('ui', img, parseFloat(ss[1]), parseFloat(ss[2]));
else
else if (ss.length=5)
core.drawImage('ui', img, 0, 0, img.width, img.height, parseFloat(ss[1]), parseFloat(ss[2]), parseFloat(ss[3]), parseFloat(ss[4]));
else if (ss.length==9)
core.drawImage('ui', img, parseFloat(ss[1]), parseFloat(ss[2]), parseFloat(ss[3]), parseFloat(ss[4]), parseFloat(ss[5]), parseFloat(ss[6]), parseFloat(ss[7]), parseFloat(ss[8]));
return "";
});