【100个Cocos实例】快要圣诞节了,给大家支个招!

news2024/9/22 3:49:43

圣诞节头像?圣诞树头像?就这?

引言

Mask遮罩组件的一些简单实例

游戏开发中常常需要在UI界面上展示玩家的头像或者Logo,通常都会是正方形

偶尔也会有一些奇形怪状的需求,例如五边形、六边形、心形等等。

本文将介绍一下在Cocos游戏开发中Mask遮罩组件的一些简单实例,实现不同形状的头像

本文源工程在文末获取,小伙伴们自行前往。

Mask(遮罩)组件

Mask 用于规定子节点可渲染的范围,默认带有 Mask 组件的节点会使用该节点的约束框(也就是 属性检查器 中 Node 组件的 ContentSize 规定的范围)创建一个矩形渲染遮罩,该节点的所有子节点都会依据这个遮罩进行裁剪,遮罩范围外的将不会渲染

根据概念可以理解,Mask组件具有裁剪功能。我们先来看看它有几种裁剪方式

一二三四

  • GRAPHICS_RECT,矩形遮罩,这个和我们平时截图类似,只保留矩形框内的内容,矩形框外的不显示。

  • GRAPHICS_ELLIPSE,椭圆遮罩,他有一个属性Segments曲线细分数,设置为3时表现为三角形,依次类推四边形、五边形、六边形、 、圆形(64很圆)。

  • GRAPHICS_STENCIL,自定义图形遮罩,设置成这个之后,我们可以在代码里通过Graphics组件绘制自己想要的形状进行裁剪,常用来绘制圆角头像。

  • SPRITE_STENCIL,自定义图片遮罩,以我们设定的图片作为遮罩的形状,可以通过美术提供的奇形怪状的头像框进行裁剪。

话不多说,一起来做个实例。

Mask遮罩组件的一些简单实例

接下来我们一步一步来实现Mask遮罩组件的一些简单实例,实现不同形状的头像。

1.环境

引擎版本:Cocos Creator 3.8.1

编程语言:TypeScript

2.资源准备

首先准备各种各样头像框和我的头像不要问我从哪里来,他们的故乡来自互联网

不要问我从哪里来,我的故乡在远方

UI准备好了准备开搞。Mask组件只会对它所在节点下的子节点进行裁剪

你准备好了吗

3.开始制作

  • 圣诞老人

井沟bell井沟bell

这里使用了矩形遮罩。

矩形遮罩

裁剪保留矩形内的(圣诞老人的脸)内容。

看脸的时代

  • 排行榜第一

南波万

这里使用了椭圆遮罩。其中Segments属性设置为64,表现为圆形。

椭圆遮罩

裁剪保留圆形内的内容。

方圆之内

直观的裁剪效果。

圆滑

Segments设置为8的效果。

被岁月磨去了棱角

  • 心形、圣诞树

只能帮大家到这里了

这里使用了自定义图片遮罩。

自定义图片遮罩

目标图片为心形和圣诞树。

拿去不谢

头像裁剪成图片的形状。

连头像都是爱你的形状

圣诞树上下部分彩色的非裁剪效果,是SpriteFILLED效果。

节目效果,请勿当真

结果如下。

差点信了

  • 圆角头像

不划手

这里使用自定义图形遮罩。

自定义图形遮罩

设置之后,添加一个MaskTest组件。

import { _decorator, Component, Graphics, Node } from 'cc';
const { ccclass, property } = _decorator;
@ccclass('MaskTest')
export class MaskTest extends Component {
    start() {
        const graphics = this.getComponent(Graphics);
        // 设置线宽和填充颜色
        graphics.lineWidth = 2;
        // 设置四个角的圆半径
        const cornerRadius = 20;
        // 绘制带有圆角的矩形
        graphics.roundRect(-50, -50, 100, 100, cornerRadius);
        graphics.fill();
    }
}

直接通过roundRect方法绘制圆角矩形。

这都有,贴心啊

  • 其他

Inverted属性,反向遮罩,勾选之后进行反向遮罩。

反向遮罩

即原本应该保留的内容裁剪掉,原来应该裁剪的保留。

就是要反着干

4.效果演示

没别的效果了,就这效果

今天的节目到此为止。帮忙转发一下文章哦,下课!

结语

本文源工程可通过私信发送HeadMask获取。

我是"亿元程序员",一位有着8年游戏行业经验的主程。在游戏开发中,希望能给到您帮助, 也希望通过您能帮助到大家。

AD:笔者线上的小游戏《贪吃蛇掌机经典》《重力迷宫球》《填色之旅》大家可以自行点击搜索体验。

实不相瞒,想要个在看!请把该文章分享给你觉得有需要的其他小伙伴。谢谢!

推荐专栏:

100个Cocos实例

8年主程手把手打造Cocos独立游戏开发框架

和8年游戏主程一起学习设计模式

从零开始开发贪吃蛇小游戏到上线系列

知识付费专栏

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1325441.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

九州未来向开放原子开源基金会捐赠OpenV2X,共建繁荣开源生态

12月16日,以“一切为了开发者”为主题的开放原子开发者大会在无锡成功举办。会上,九州未来将OpenV2X车路协同开源项目正式捐赠给开放原子开源基金会,并签署项目捐赠协议,通过开源共创的方式,携手开源伙伴共同打造车路协…

[微服务 ]微服务集成中的3个常见缺陷,以及如何避免它们

微服务风靡一时。他们有一个有趣的价值主张,即在与多个软件开发团队共同开发的同时,将软件快速推向市场。因此,微服务是在扩展您的开发力量的同时保持高敏捷性和快速的开发速度。 简而言之,您将系统分解为微服务。分解并不是什么新…

RLAIF方法与传说中的函数‘Q‘,揭露OpenAI那不为人知的Qstar计划

早晨刚起来,看群里新哥转了这个帖子: 帖子不长,但是基本是爆炸类的新闻了!这个应该也就是Sam之前被董事会诟病的所谓隐瞒了的真相! 在讲解这个帖子之前,先要普及2个概念: 1- RLAIF: 不是TGIF,虽然今天确实是周五 RLAIF是Google今年9月新出来的论文,论文…

智能优化算法应用:基于堆优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用:基于堆优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于堆优化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.堆优化算法4.实验参数设定5.算法结果6.参考文…

tcpdump抓包技巧

1. 常见的抓包工具 1.1 tcpdump 是Linux下常用的抓包工具,它是一个命令行工具,可以抓取和Wireshark类似的数据,而且保存的数据包,可以放到Wireshark中分析。如果你的Linux服务器需要抓包分析问题,它是一个非常好的选择…

算法基础之约数之和

约数之和 核心思想&#xff1a; #include<iostream>#include<algorithm>#include<vector>#include<unordered_map>using namespace std;typedef long long LL;const int N 110 , mod 1e97;int main(){int n;cin>>n;unordered_map<int,int&…

使用opencv实现图像中几何图形检测

1 几何图形检测介绍 1.1 轮廓(contours) 什么是轮廓&#xff0c;简单说轮廓就是一些列点相连组成形状、它们拥有同样的颜色、轮廓发现在图像的对象分析、对象检测等方面是非常有用的工具&#xff0c;在OpenCV 中使用轮廓发现相关函数时候要求输入图像是二值图像&#xff0c;这…

Python学习笔记(六):函数的多返回值、函数的多种参数使用形式、匿名函数、文件的读取操作、文件的写入 、文件的追加

目录 一、函数的多返回值 二、函数的多种参数使用形式 2.1位置参数 2.2关键字参数 2.3缺省参数 2.4不定长参数 三、匿名函数 3.1 函数作为参数传递 3.2 函数的定义 3.3 匿名函数定义语法&#xff1a; 四、文件的读取操作 4.1 open&#xff08;&#xff09;打开函数…

【WPF.NET开发】样式和模板

本文内容 示例样式ControlTemplateDataTemplate触发器视觉状态共享资源和主题 Windows Presentation Foundation (WPF) 样式设置和模板化是指一套功能&#xff0c;这套功能使开发者和设计者能够为其产品创建极具视觉表现力的效果和一致的外观。 自定义应用的外观时&#xff0…

【精选】Lombok概述及常用注解使用方法

Lombok概述 Lombok项目是一个java库&#xff0c;它可以自动插入到编辑器和构建工具中&#xff0c;增强java的性能。不需要再写getter、setter或equals方法&#xff0c;只要有一个注解&#xff0c;就有一个功能齐全的构建器、自动记录变量等等。 以前的Java项目中&#xff0c;充…

2002年AMC8数学竞赛中英文真题典型考题、考点分析和答案解析

今天是2023年12月21日&#xff0c;距离2024年的AMC8正式考试倒计时已不足30天了。 六分成长继续和您一起&#xff0c;从历年的真题中来了解考试题型、考试形式、对知识点查漏补缺。如果您有任何关于AMC8比赛的任何问题都可以问我&#xff0c;关于题目的解析也可以交流。敲黑板…

Ansible的脚本----playbook剧本

Playbook组成部分 tasks 任务&#xff1a;包含要在目标主机上执行的操作&#xff0c;使用模块定义这些操作。每个任务都是一个模块的调用。Variables 变量&#xff1a;存储和传递数据。变量可以自定义&#xff0c;可以在playbook当中定义全局变量&#xff0c;可以外部传参。T…

ARM GIC(二)中断分类

一、中断状态 对于每一个中断而言,有以下4个状态: inactive:中断处于无效状态 pending:中断处于有效状态,但是cpu没有响应该中断 active:cpu在响应该中断 active and pending:cpu在响应该中断,但是该中断源又发送中断过来 以下是中断状态的转移图。至于图中的转移…

基于Redis限流(aop切面+redis实现“令牌桶算法”)

令牌桶算法属于流量控制算法&#xff0c;在一定时间内保证一个键&#xff08;key&#xff09;的访问量不超过某个阈值。这里的关键是设置一个令牌桶&#xff0c;在某个时间段内生成一定数量的令牌&#xff0c;然后每次访问时从桶中获取令牌&#xff0c;如果桶中没有令牌&#x…

U-MixFormer:用于高效语义分割的类unet结构的混合注意力Transformer

论文&#xff1a; 代码&#xff1a;GitHub - RecklessRonan/MuSE 感觉这篇比较优雅无痛涨点欸.....最近要期末了没时间看文章和做实验了&#xff08;摊 摘要 语义分割在Transformer架构的适应下取得了显著的进步。与Transformer的进步并行的是基于CNN的U-Net在高质量医学影…

数据可视化---直方图

内容导航 类别内容导航机器学习机器学习算法应用场景与评价指标机器学习算法—分类机器学习算法—回归机器学习算法—聚类机器学习算法—异常检测机器学习算法—时间序列数据可视化数据可视化—折线图数据可视化—箱线图数据可视化—柱状图数据可视化—饼图、环形图、雷达图统…

HarmonyOS概述

HarmonyOS概述 HarmonyOS系统架构 内核层—系统服务层—框架层—应用层 内核层&#xff1a; 内核子系统: HarmonyOS采用多内核设计&#xff0c;支持针对不同资源受限设备 &#xff0c;选用适合的OS内核&#xff0c;为上层提供基础操作系统能力。驱动子系统: 硬件驱动框架(H…

【Spring Security】打造安全无忧的Web应用--入门篇

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Spring Security的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.Spring Security是什么 1.概…

小鹅通基于 TSE 云原生 API 网关的落地实践

导语 2023腾讯全球数字生态大会已于9月7-8日完美落幕&#xff0c;40专场活动展示了腾讯最新的前沿技术、核心产品、解决方案。 微服务与消息队列专场&#xff0c;我们邀请到了小鹅通的基础架构组负责人黄徐震为我们带来了《小鹅通基于 TSE 云原生网关的落地实践》的精彩演讲。…

java 4.数组

文章目录 4.数组4.1数组的概念4.2 数组的定义4.3 数组的初始化4.4 数组下标的有效范围与常见异常4.5 数组内存分析4.6 二维数组4.6.1 创建二维数组4.6.2 二维数组的赋值4.6.3 多维数组4.6.4 通过二维数组输出不同版式的古诗 4.7 不规则数组4.8 数组的基本操作4.8.1 数组遍历4.8…