Cocos Creator 是一款流行的游戏开发引擎,具有丰富的组件和工具,其中Mask组件可用于创建如圆形、矩形和任意形状的遮罩效果,以限制节点显示的范围。这对于创建具有复杂布局的UI元素非常有用,例如只显示图片的一部分或控制文本显示的区域。


使用Mask组件,我们可以实现很多有趣的效果。例如,我们可以创建一个圆形的遮罩来显示头像,或者创建一个矩形的遮罩来显示进度条。此外,Mask组件还可以与其他组件一起使用,例如Sprite组件或Label组件,以创建更加复杂的效果。

一、组件属性

属性 功能说明
Type 遮罩类型。包括 RECTELLIPSEIMAGE_STENCIL 三种类型
Inverted 布尔值,反向遮罩
Alpha Threshold Alpha 阈值,该属性为浮点类型,仅在 Type 设为 IMAGE_STENCIL 时才生效。
只有当模板像素的 alpha 值大于该值时,才会绘制内容。
该属性的取值范围是 0 ~ 1,1 表示完全禁用。
Sprite Frame 遮罩所需要的贴图,只在遮罩类型设为 IMAGE_STENCIL 时生效
Segements 椭圆遮罩的曲线细分数,只在遮罩类型设为 ELLIPSE 时生效

二、组件使用

  • 添加Mask组件;在编辑器中,选中需要添加掩膜的节点,然后在属性检查器中点击“添加组件”按钮,选择“Mask”组件。
  • 设置Mask属性;在Mask组件的属性面板中设置Type、Inverted、Segments和SpriteFrame等属性。
  • 添加子节点;添加需要被裁剪的子节点,将其放置在父节点下,并将其移动到Mask组件上。
  • 预览效果;在场景编辑器中预览裁剪效果。可以看到,子节点只能在Mask覆盖的区域内可见。

三、脚本示例

// 获取节点上的Mask组件
let maskComponent = node.getComponent(cc.Mask);// 设置遮罩模式
maskComponent.type = cc.Mask.Type.RECT; // 矩形遮罩
maskComponent.type = cc.Mask.Type.ELLIPSE; // 椭圆形遮罩// 设置遮罩图片
maskComponent.spriteFrame = new cc.SpriteFrame(texture);// 设置是否反转遮罩效果
maskComponent.inverted = false; // 默认情况下,遮罩之外的区域会被隐藏,设置inverted为true则相反。// 设置遮罩的缩放、旋转、位移等属性
maskComponent.node.scale = 2;
maskComponent.node.rotation = 45;
maskComponent.node.position = cc.v2(100, 100);

总之,Mask 组件是一个可用于创建遮罩效果的 UI 组件。它可以将节点设置为遮罩节点,并在遮罩节点上绘制不透明的形状,从而控制该节点的可见区域。使用 Mask 组件,可以实现各种遮罩效果,例如圆形遮罩、矩形遮罩和文本遮罩等。此外,Mask 组件还支持嵌套使用,允许创建复杂的遮罩层次结构。在 Cocos Creator 中,Mask 组件通常与其他组件一起使用,例如 Sprite、Label 和 Layout 等,以创建具有各种遮罩效果的 UI 元素。

【CocosCreator入门】CocosCreator组件 | Mask(遮罩)组件相关推荐

  1. 怎么写遮罩层 css,css案例 - mask遮罩层的华丽写法

    mask遮罩蒙层使用通常的写法的bug 通常写法pug .mask 通常写法css .mask{ position: absolute; top: 0; right: 0; bottom: 0; le ...

  2. 【CocosCreator 3.x】使用 UIMeshRenderer 组件实现 3D 渲染在 UI 上 => 攻略

    前言 在游戏开发时,我们为了让角色更加真实立体,我们会使用 3D 模型代替​ 2D 的龙骨或者 Spine 动画. 比如我们的选择角色的界面,如果我们的角色是 3D 模型,界面的 UI (例如名字.背 ...

  3. 使用vue创建一个遮罩组件_用于输入遮罩的另一个Vue组件

    使用vue创建一个遮罩组件 语音输入蒙版 (vue-input-mask) Yet another Vue component for input masking. Based on react-in ...

  4. Bootstrap入门(二十一)组件15:警告框

    Bootstrap入门(二十一)组件15:警告框 通过这些简单.灵活的进度条,为当前工作流程或动作提供实时反馈. 进度条组件使用了 CSS3 的 transition 和 animation 属性来完 ...

  5. element ui 弹出组件的遮罩层在弹出层的上面的解决方法

    element ui 弹出组件的遮罩层在弹出层的上面的解决方法 参考文章: (1)element ui 弹出组件的遮罩层在弹出层的上面的解决方法 (2)https://www.cnblogs.com/ ...

  6. VUE 入门及应用 ( 五 ) ElementUI 组件

    7.组件框架 7.0.Element UI js -> jquery ->jqueryui /easyUI / bootstrap UI js -> vue -> elemen ...

  7. react基础入门,类组件和函数组件,state,props,refs

    React入门 目录 React入门 React入门 Vue跟React的异同点 相同点 不同点 Vue小建议 1. 不需要响应式的数据应该怎么处理? 2. Key 3. 数据结构 React 教程 ...

  8. WPF 项目开发入门(五)ListView列表组件 与 Expander组件

    WPF 项目开发入门(一) 安装运行 WPF 项目开发入门(二) WPF 页面布局 WPF 项目开发入门(三)WPF 窗体与页面 WPF 项目开发入门(四) MVVM 模式 与 TreeView树组件 ...

  9. Vue入门八、非父子组件间通讯

    通过Bus总线机制实施非父子组件通讯 1.创建一个空实例(Bus中央事件总线也可以叫中间组件) 2.利用$emit $on 触发和监听事件实现非父子组件的通信 组件之间使用this.$bus.$on传 ...

最新文章

  1. 腾讯宣布员工最高可申请免息借款90万!网友:应届当码农就能一线城市买房了!...
  2. Kafka High Availability (下)
  3. jdbc mysql查询整行信息_JDBC获取数据库各种信息
  4. spring boot / cloud (二) 规范响应格式以及统一异常处理
  5. 谷歌大脑科学家亲解 LSTM:一个关于“遗忘”与“记忆”的故事
  6. ccs加载out文件_类加载流程、类加载机制及自定义类加载器详解
  7. E103-W01产品WiFi无线模块快连技术在智能家居中的应用
  8. Taro+react开发(16)--跳转拿参
  9. PHP获得真实客户端的真实IP REMOTE_ADDR,HTTP_CLIENT_IP,HTTP_X_FORWARDED_FOR
  10. Git拉取指定远程分支
  11. Ubuntu18.04进入命令行模式和recovery-mode安装软件
  12. 1.PHP 扩展开始以及内核应用(1) --- PHP 的生命周期
  13. state 全局值 设置 和获取
  14. 适用于物联网数据共享的区块链节点存储优化方案
  15. matlab自带回归拟合数据,matlab数据拟合与线性回归
  16. 清华大学计算机杜瑜皓,我在清华等你来|2015国际信息学奥赛全球第四名杜瑜皓:人生不搏枉少年...
  17. 第六篇:A133 用DragonSN工具刷SN号,MAC地址细节问题
  18. 专业计算机怎么关机,Win10如何使用快捷键来关机?_win10专业版技巧
  19. 网络类型---P2P,MA
  20. H5特效demo网站

热门文章

  1. Microsoft Viva从四大应用组件升级为六大应用组件
  2. POJ 1418 Viva Confetti 题解 《挑战程序设计竞赛》
  3. opencv打开单双目摄像头
  4. 【WP7】调用系统LED灯
  5. CVE-2021-41277(metebase信息泄漏漏洞复现)
  6. 【热门】金牛男宝宝起名改名:比较有野心的男孩名字
  7. 软件设计体系 实验一 经典软件体系结构风格
  8. 解决@Valid校验List失败问题
  9. Vector多维向量定义
  10. 高通平台dtb文件的加载过程