如何快速的做一个血条

简介: 本文主要内容:如何在小游戏制作工具中利用“遮罩”快速的实现一个血条。如果你没有任何的游戏开发经验,欢迎观看我的“人人都能做游戏”系列视频教程,它会手把手的教你做出自己的第一个小游戏

本文主要内容:如何在小游戏制作工具中利用“遮罩”快速的实现一个血条。

如果你没有任何的游戏开发经验,欢迎观看我的“人人都能做游戏”系列视频教程,它会手把手的教你做出自己的第一个小游戏。



今天分享一下如何使用微信小游戏制作工具中的“遮罩”快速的实现一个血条效果。


首先我们在场景中添加一些所需要的素材。



如图,添加了两个血条的图片,一个当作背景,一个当作前景,并且把这两个图片放到了一个“血条1”容器中,另外增加了一个“打你丫的”按钮,用来模拟攻击,点击“打你丫的”按钮,血条就会掉血。


接下来,我们选中血条,点击“管理行为”按钮。在打开的“管理行为”面板中开启“遮罩”行为。



这样在血条的属性面板中就会增加遮罩行为。



对于实现一个血条来说 ,我们只需要关注 3 个属性即可,类型使用“矩形”,血条通常都是矩形的长条形状,然后是宽度和高度,这里的宽度和高度要跟血条图片的宽度和高度相等,对于横向的血条来说,我们只需要设置其宽度即可。


可以看到血条图片的宽度和高度也是 480 x 40。


血条实现的原理是我们通过设置矩形遮罩的宽度来控制血条的显示,假设遮罩宽度设置为 240 ,那么血条只会显示出一半。



如上图,当遮罩宽度设置为 240 时,运行时的血条显示了一半。


实现原理明白了,接着我们就来实现一下血条掉血的效果吧!其实我们只需要知道“总血量”,”当前血量“以及”血条的宽度“就可以动态的计算出遮罩的宽度了。

计算公式:遮罩宽度 = 当前血量/总血量 * 血条的宽度


首先创建 2 个变量,一个记录总血量,一个记录当前血量。



接着选中“血条”,为其增加如下的积木。



*注:与遮罩有关的所有积木块都在右侧的“行为”中,这里我们只需要用到“设置遮罩的宽度”一块积木即可。


最后,我们在“打你丫的”按钮上增加如下的逻辑。



最后,运行一下。



点击“打你丫的”按钮后,血条就会掉血了。


可以看到这里的血条掉血效果很“硬”,缺少过渡,下面我们尝试着为其增加一个过渡,让其看上去更柔和一点儿。


我们重新创建一个“血条2”来实现带过渡的血条效果。



首先在“过渡血条”上创建两个局部变量。



“宽度”变量用于记录之前的遮罩宽度,“新宽度”用于记录新计算的遮罩宽度。



这里使用循环来实现血条的过渡效果,假设当前的宽度是 100,新的宽度是 90,那么血条将会使用 10 帧来完成过渡效果,每 1 帧宽度就会减少 1 ((100-90)/10=1)。如果你希望血条的过渡快一点儿,可以通过调整“循环次数”和“除数”达到目的。


再次运行一下,看看效果。



可以看到下方的带过渡效果的血条看起来会更友好一些。如果你是一个“细节控”的话,一定也会对这两种不同的表现形式有不同的感受吧!


最后,送上一句我很喜欢的话:要相信你在制作游戏中的所有的用心,玩家都会感受的到。共勉之。

如果你对游戏开发感兴趣,欢迎关注我,如果你有对游戏开发感兴趣的朋友,也欢迎把这个系列文章推荐给他。

欢迎支持一下我的小游戏作品“精致1010”,一个很用心做的小游戏。

精致1010

细节满满呐~

小程序


有任何的想法或者疑问,欢迎添加我的微信,我会尽可能的为你提供帮助。

相关文章
|
前端开发 算法 API
直接在前端做 zip 压缩/解压
前段时间研究前端是如何解析 excel 表格的时候了解到 jszip 这个库,可以直接在前端对 zip 包进行压缩和解压缩,今天稍微水一篇。
|
监控 前端开发 JavaScript
不了解 QPS、TPS、RT、并发数、吞吐量,劝你简历别写熟悉高并发
分布式、微服务、Service Mesh目前都是大家耳熟能详的词语了,现在随便一个互联网公司说出来大家都是在搞微服务。 但我们搞来搞去,怎么样来衡量一个应用当前的状态到底是怎么样的?到底需不需要扩容?是需要横向扩容还是进行项目重构?
|
2月前
|
Python
python获取音频时长
python获取音频时长
146 0
|
应用服务中间件 网络安全 nginx
./configure: error: SSL modules require the OpenSSL library.
CentOS 6.5 下 安装 Tengine 执行配置命令./configure  时提示以下错误: ./configure: error: SSL modules require the OpenSSL library.
1885 0
|
10月前
|
存储 Go 调度
终于明白:有了线程,为什么还要有协程?
其实,在早期计算机并没有包含操作系统,这个时候,这个计算机只跑一个程序,这个程序独享计算机的所有资源,这个时候不存在什么并发问题,但是对计算机的资源来说,确实是一种浪费。早期编程都是基于单进程来进行,随着计算机技术的发展,于是,操作系统出现了,操作系统改变了这种现状,让计算机可以运行多个程序,并且不同的程序占用独立的计算机资源,如内存,CPU等。
|
JavaScript 前端开发
electron 10行核心代码定制自己的浏览器
electron 10行核心代码定制自己的浏览器
572 0
electron 10行核心代码定制自己的浏览器
|
12月前
|
机器学习/深度学习 存储 PyTorch
基于阿里云免费算力自建LLM(类GPT)大模型
基于阿里云免费算力自建LLM(类GPT)大模型
|
12月前
|
小程序
小程序:picker-view选择器快速滚动,确认时,”值显示错误“
小程序:picker-view选择器快速滚动,确认时,”值显示错误“
136 0