[]graphics如何实现橡皮擦效果
// 增加一个容器
var box = new Sprite();
// 设置容器为画布缓存
box.cacheAs = "bitmap";
this.layCanvas.addChild(box);
// 绘制红色方块
var red = new Sprite();
red.graphics.drawRect(0, 0, 150, 150, "#ff0000");
box.addChild(red);
// 绘制一个圆形区域,利用叠加模式,抠除上面红色区域
var circle = new Sprite();
circle.graphics.drawCircle(0, 0, 50, "#000");
circle.pos(50, 50);
// 设置叠加模式
circle.blendMode = "destination-out";
box.addChild(circle);
实现了擦除red节点的内容擦除 但是无法在擦除后的位置重新绘图 因为被上面有circle的透明区域挡住
请问如何实现在擦出后的位置继续绘图呢
还是说有更好的解决方案?
var box = new Sprite();
// 设置容器为画布缓存
box.cacheAs = "bitmap";
this.layCanvas.addChild(box);
// 绘制红色方块
var red = new Sprite();
red.graphics.drawRect(0, 0, 150, 150, "#ff0000");
box.addChild(red);
// 绘制一个圆形区域,利用叠加模式,抠除上面红色区域
var circle = new Sprite();
circle.graphics.drawCircle(0, 0, 50, "#000");
circle.pos(50, 50);
// 设置叠加模式
circle.blendMode = "destination-out";
box.addChild(circle);
实现了擦除red节点的内容擦除 但是无法在擦除后的位置重新绘图 因为被上面有circle的透明区域挡住
请问如何实现在擦出后的位置继续绘图呢
还是说有更好的解决方案?
没有找到相关结果
已邀请:
要回复问题请先登录
2 个回复
cuixueying
赞同来自:
jiawei3t
赞同来自:
这个问题如何解决呢?