【cocos creator】cc.mask自定义多边形遮罩,可设置多个空洞

在这里插入图片描述

const { ccclass, property } = cc._decorator;
const CLEAR_LINE_WIDTH = 5;

@ccclass
export default class maskCtrl extends cc.Component {
  @property(cc.Node)
  maskNode: cc.Node = null;
  clearBox() {
    let mask: any = this.maskNode.getComponent(cc.Mask);
    let stencil = mask._graphics;
    stencil.clear();
    stencil.moveTo(-50, -50);
    stencil.lineTo(-200, -50);
    stencil.lineTo(-100, -200);
    stencil.lineTo(-50, -100);
    stencil.lineTo(-50, -50);
    stencil.fill();
    stencil.roundRect(250, -50, 150, 80, 20);
    stencil.fill();

    // 矩形
    stencil.rect(250, 100, 100, 50);
    // 圆
    stencil.circle(-300, 100, 50);
    stencil.fill();
    // 椭圆
    stencil.ellipse(-80, 100, 80, 40);
    // 部分圆
    stencil.arc(100, 100, 50, 0, Math.PI, true);

    stencil.lineWidth = CLEAR_LINE_WIDTH;
    stencil.lineCap = cc.Graphics.LineCap.ROUND;
    stencil.lineJoin = cc.Graphics.LineJoin.ROUND;
    stencil.strokeColor = cc.color(255, 255, 255, 255);
    stencil.stroke();
  }
}

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烧仙草奶茶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值