Unity 血条及“掉血”缓冲效果

这篇具有很好参考价值的文章主要介绍了Unity 血条及“掉血”缓冲效果。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 视频教程:https://www.bilibili.com/video/BV1WJ411778C/?spm_id_from=333.999.0.0&vd_source=4a4c35da6aef7094d5990c213c39aa09

使用素材(推荐使用GitZip for github下载):https://github.com/zheyuanzhou/Youtube-Unity-Tutorial/tree/master/EP45_Health%20Bar/Sprites

效果如下图所示:

Unity 血条及“掉血”缓冲效果

首先在场景中创建一个新的Canvas,并命名为HeathBar,并创建三个Image作为前者的子物体,分别命名为bg(空血条背景),Effect(呈现“掉血”时的缓冲效果),HP(显示血量) 。并按前文中描述的顺序依次将后者置于前者下方;如下图所示

 Unity 血条及“掉血”缓冲效果

三者的层次应当如下图所示(使用3D视图只是为更好说明,实际项目还是2D):

 Unity 血条及“掉血”缓冲效果

其次分别将相应的素材赋给HeathBar下的bg,Effect,HP的Image组件并对其进行如下设置:

对于bg的Image组件,勾选Preserve Aspect以图片的原始长款比例

Unity 血条及“掉血”缓冲效果

对于Effect和HP的Image组件,需将Image Type设置为Filled,并将随后出现的Fill Method设置为Horizontal,同时将Fill Origin设置为Fill,最后勾选Preserve Aspect

 Unity 血条及“掉血”缓冲效果Unity 血条及“掉血”缓冲效果

Image Type中的Filled 

Filled,即填充,可用于呈现技能冷却或血条等填充动画效果

Fill Method:设置填充的类型;上文中设置的Horizontal,即水平填充

Fill Origin:设置开始填充的起始点(当Fill Amount=0时,则处于起始点),根据Fill Method的不同,有不同的选项;以Fill Method中的Horizontal为例,Left这表示从左向右填充(Fill Amount由0值1),对应的,Left这表示从右向左填充(Fill Amount由0值1))

ps:在该案例中,Fill Amount=现有的血量/总血量;初始时,为满血,故Fill Amount的值应被初始化为1,当收到伤害时,现有的血量下降导致Fill Amout,血条(子物体HP)从右向左减少(当Fill Amount=0时回到处于左方Left的起始点),故Fill Origin应设置为Left

最后创建脚本HeathBar.cs,并编写代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

using UnityEngine.UI;

public class HeathBar : MonoBehaviour
{
    public Image hpImg; 
    public Image hpEffectImg;

    [HideInInspector]public float hp; //现有的血量
    [SerializeField]private float maxHp; //最大血量
    [SerializeField]private float buffSpeed=0.005f; //缓冲程度

    private void Start() {
        hp=maxHp; //初始时,为满血
    }

    private void Update() {
        StartCoroutine(UpdateHp());
    }

    IEnumerator UpdateHp()
    {
        hpImg.fillAmount = hp / maxHp; //使用fillAmount更新Fill Amount的值,
        
        while(hpEffectImg.fillAmount >= hpImg.fillAmount){
            hpEffectImg.fillAmount -= buffSpeed;
            yield return new WaitForSeconds(.5f);
        }

        if(hpEffectImg.fillAmount < hpImg.fillAmount){
            hpEffectImg.fillAmount = hpImg.fillAmount;
        }
    }
}

ImageObject.fillAmount:通过改变的值实现血条的动态变化 文章来源地址https://www.toymoban.com/news/detail-431598.html

到了这里,关于Unity 血条及“掉血”缓冲效果的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity实现各种样式的血条

    我将讲述三种不同类型血条UI的实现 第一种是常见的进度条样式的血条实现: 进度条式的血条样式如图示 要实现进度条式的血条,我们需要使用到unity的UI中的滑动条,它分为Slider滑动条,Background滑动条的背景,Fill Area填充条,这个组件就类似于进度条不过带了一个可以按住

    2024年02月03日
    浏览(21)
  • 【Ruby 2D】【unity learn】抬头显示血条

    说起游戏开发,大家一般会觉得控制角色移动和制作血条哪个难呢? 或许都会觉得血条比较难吧。 是的,正是如此。 那么我们让我们来看看血条该怎么做吧  这是效果图 受伤后是这样的 首先是创建一张Canvas画布 这个画布会很大  相比之下我们的小地图就显得微不足道了

    2023年04月22日
    浏览(30)
  • UE4动作游戏实例RPG Action解析三:实现效果,三连击Combo,射线检测,显示血条,火球术

    实现武器三连击,要求: 1.下一段Combo可以随机选择, 2.在一定的时机才能再次检测输入 3. 等当前片段播放完才播放下一片段 1.1、蒙太奇设置 通过右键-新建蒙太奇片段,在蒙太奇里创建三个片段,并且移除相关连接,这样默认只会播放第一个片段 不同片段播放动画从 资产

    2024年02月21日
    浏览(34)
  • 【Axure视频教程】放大镜效果

    今天教大家在Axure里如何制作放大镜效果的原型模板,鼠标移入小图后,会出现一个方框根跟随鼠标移动,右侧会放大显示该方框区域的内容,具体效果可以参考下方视频。该教程从0开始制作,手把手教学,无论是新手小白还是有一定基础的同学,都可以学习的哦。 【视频教

    2024年02月13日
    浏览(51)
  • unity初学6——简易的UI制作(血条制作)和音频加入以及NPC的对话气泡(2d)

    该文来是学习chutianbo老师的笔记,链接b站 1.右键Hierarchy空白处 UI➡canvas 2.这里一共使用了三个素材 层级结构 UI:初始画布 characters:头像 Mask:遮罩层 healthbar:血条 这里我们先回到UI(也就是一开始创建的Canvas) 我们一开始有用的应该只有渲染模式render Mode,他有三种模式

    2023年04月08日
    浏览(31)
  • 6.Unity2D 横版 受击反馈+跟随血条+延时/延迟扣血+协程的应用

    总目录 https://blog.csdn.net/qq_54263076/category_11900070.html?spm=1001.2014.3001.5482  1. 受击反馈 用 Unity 探究 2D 游戏的打击感_技术宅也爱玩游戏的博客-CSDN博客_unity击退 引言这是我毕业设计的一部分emmm……我的毕设和格斗游戏相关,而对于打击感的研究算是其中我比较在意的一环。现在

    2023年04月08日
    浏览(30)
  • 微信小程序实现抖音视频效果教程

    本文详细介绍了微信小程序中如何实现类似抖音视频效果的页面,包括视频播放、用户头像展示和基本信息展示等功能,提供了wxml、wxss和js文件的代码示例,助力开发者快速搭建。

    2024年02月12日
    浏览(62)
  • Unity3d 获取场景中摄像头视频流,实现直播效果(无需代码)

    下面是具体操作流程:   1. 搭建服务器,选用github 一个开源的 node.js服务器。 下载地址GitHub - iizukanao/node-rtsp-rtmp-server: RTSP/RTMP/HTTP hybrid server,点击克隆,选择ZIP下载。  2. 下载node.js( 官网链接 Node.js)   选择下载最新版本,并根据提示一步步安装即可。 3.搭建服务器。 找到

    2023年04月08日
    浏览(27)
  • 【奶奶看了都会】ComfyUI+SVD制作AI视频教程,附效果演示

    AI一天,人间一年 大家好啊,我是小卷,最近AI绘画又发展出一些新玩意了,小卷因为工作的关系有一个月没关注AI的发展了,都有点跟不上版本节奏了。。。 今天给大家介绍下AI绘画新的工具: ComfyUI 。和Stable Diffusion Webui类似的,支持文生图,图生图的基本操作,不同的是

    2024年01月20日
    浏览(39)
  • charles对iOS手机的https进行抓包(图文教程),web前端开发视频

    端口:8888 设置代理后,需要在电脑上打开Charles才能上网 4、配置手机端证书 打开手机Safari,访问下载地址: chls.pro/ssl   (如果我们显示的不同,则以提示中的地址为准) 正常情况下访问此地址会请求安装一个配置文件。 手机端安装证书2 网上很多教程到这就结束了,但返回

    2024年04月24日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包