Lsprite用mask 遮罩之后sprite的宽高不是遮罩区域的宽度 而是原有的宽高,怎么处理。 mask遮罩后 导出的图片不是mask内的图 而有一大部分透明图。
下面方法我是根据获取的参数 来截裁取一个圆脸。
代码如下:rx:x移动像素 ry:y移动像素
var ele = { name:"el_0", rx:-25, ry:-172, img:"./img/peop0.png", mwidth:200, scale:2.2 }; function ModelSprite(ele) { var self = this; base(self, LSprite, []); var tLSprite = new LSprite(); ele.img = imglist[ele.name]; var tLBitmap = new LBitmap(new LBitmapData(ele.img));
tLBitmap.scaleX = (ele.mwidth / ele.img.width) * ele.scale; tLBitmap.scaleY = tLBitmap.scaleX; tLSprite.addChild(tLBitmap); var maskSprite = new LSprite(); maskSprite.x = ele.mwidth / 2; maskSprite.y = ele.mwidth / 2; maskSprite.graphics.drawArc(1, "red", [-ele.rx, -ele.ry, ele.mwidth / 2, 0, 2 * Math.PI]); tLSprite.mask = maskSprite; self.addChild(tLSprite); // self.x = ele.rx; // self.y = ele.ry; return self; }
|