Unity UGUI实现王者荣耀版多格血条
上篇讲述了Boss多层血条的实现方法,这篇就主要讲述一下类似于王者荣耀,LoL的分段式血条,
这样的血条在游戏的视觉层会带给玩家非常好的体验。就好比玩家买了一个狂徒铠甲。如过你用
的是分段血条的话,就立即会增加血格,这样用户直接从视觉上会他看到了这件装备的效果,
他就会觉得他这个装备买值了,这件装备很厉害,就会感觉自己非常肉,然后就感觉自己的人生达到了
巅峰。但如果是一管的血条,你买了,血条还是那样没又任何变化,甚至这时候你都在怀疑,我买了这
件装备,有用吗?效果在哪里?所以有些东西,用户买了,要从视觉上就能给人表达出来,让用户知道
你买了这件装备,而且还很牛X,才会让用户记住这款游戏。
所以,我们一起来学习多段血条的制作吧!
效果图:
效果二 等宽无拉伸:
多段血条实现的原理就是,通过继承RawImage 重写父类方法,控制Rect的w值来实现的,和NGUI
背包物品拖拽交换的原理是一样的,都是通过继承和重写来达到自己想要的目的。当然既然说到了背包
物品的拖拽和交换,那么博主就好人做到底,在下面的博客中博主会把背包物品拖拽交换做成类似于小
插件或小工具,然后发布到博客,供大家使用。所以,为了下次可以方便的找到博主,这里可以关注下
博主噢。
下面介绍下多段血条的组成:
1.血条是由一个Slider构成的,如下图:
2.Max Value 用来控制初始血格的最大数,Value的值为多少,血格的个数就为多少。
3.在血量减少时,血格也会减少,血格的减少时通过UV Rect 的 w 值来进行控制的,
W值越小,血格越少,血量越低。
注意血条的图片是通过Awake()的Resource读取赋值的,图片很简单,很容易制作,这里就不上传了。
下面贴出图片样式和源码:
最后图片格式很重要 否则无法正常显示血条:
源码:
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class UguiSlider : RawImage {/// <summary>/// 血条的值/// </summary>private Slider _BloodSlider;/// <summary>/// 血量图片红色/// </summary>private Texture redTexture;/// <summary>/// 血量图片绿色/// </summary>private Texture greenTextre;protected override void Awake(){base.Awake();//找图片redTexture = Resources.Load("222") as Texture;greenTextre = Resources.Load("111") as Texture;}/// <summary>/// 重写父类方法/// </summary>protected override void OnRectTransformDimensionsChange(){base.OnRectTransformDimensionsChange();//获取血条if (_BloodSlider == null){_BloodSlider = transform.parent.parent.GetComponent<Slider>();}//不等于空if (_BloodSlider != null){//赋值float Value = _BloodSlider.value;uvRect = new Rect(0, 0, Value, 1);//血量为0时,没有血量图片if (Value == 0){texture = null;}//血量大于0,小于最大血量的20%时,血量为红色else if(Value< _BloodSlider.maxValue*0.2f&&Value>0){texture = redTexture;}//血量大于等于最大血量的20%时,血量为绿色else if (Value >= _BloodSlider.maxValue*0.2f){texture = greenTextre;}}}}
好了,多段血条就这样制作完成了!
上一篇:Dnf Boss版多层血条制作
努力积才能,壹叶便成名。
Unity UGUI实现王者荣耀版多格血条相关推荐
- 【Unity使用UGUI实现王者荣耀UI界面(四)】游戏开始界面
文章目录 [Unity使用UGUI实现王者荣耀UI界面(四)]游戏开始界面 1. 把一些重复的UI添加 2. 开始游戏按钮 3. 注销按钮 4. 完成 5. 打包 6. 打包完成 内 容 简 介 章节 ...
- 【Unity使用UGUI实现王者荣耀UI界面(三)】登录界面以及加载界面优化
[Unity使用UGUI实现王者荣耀UI界面(三)]登录界面以及加载界面优化 [只是用来玩玩的,不要太当真] 效果显示: zhans 1. 加载界面进度100%跳转登录界面 这个功能好做,只需要将上次 ...
- 【Unity使用UGUI实现王者荣耀UI界面(二)】加载页面-静音按钮和页面完善
效果展示 文章目录 [Unity使用UGUI实现王者荣耀UI界面(二)]加载页面-静音按钮和页面完善 1. 打开项目 2. Toggle实现打开关闭音效的功能 2.1 Toggle组件演示 2.2 使 ...
- 【Unity使用UGUI实现王者荣耀UI界面(一)】加载页面(进度条)
文章目录 [Unity使用UGUI实现王者荣耀UI界面(一)]加载页面(进度条) 1. 素材准备 2. 界面分析 3. 打开Unity Hub创建项目 4. 开始搭建UI 1. 准备工作 2. 背景图 ...
- Unity 之 模拟王者荣耀七日签到系统
Unity 之 模拟王者荣耀七日签到系统 一,效果图 二,制作思路 三,场景搭建 四,代码实现 五,拓展补签版本 一,效果图 不带补签版本: 二,制作思路 使用切换图片背景颜色的方式,进行状态转换[灰 ...
- java鲁班课程_王者荣耀版Java教程第三期:鲁班刚出水晶就死了??
场景回顾 用王者荣耀学JAVA,鲁班刚在水晶复活就没了--我们来聊聊什么是引用类型? 如果一个变量的类型是类类型,不是基本数据类型,那么这个变量叫做引用.比如说你刚开了一局排位,鲁班刚从水晶出来,就好 ...
- 王者荣耀用java_王者荣耀版Java教程第二期:类与属性
1.用王者荣耀来学JAVA,理解什么是类? 相信你一定玩过王者荣耀这个游戏,就算没有玩过,肯定也听说过.假如,我们要自己设计这个游戏,你打算怎么做? 用面向过程的思想肯定是不行的,那么多英雄,那么多场 ...
- 王者荣耀用java_王者荣耀版Java教程第五期:Java类与对象(1)
1. 继承 在王者荣耀中,武器多种多样,如下图所示: public classWeapons { String name;intprice; } 然后,在我们设计一个具体的武器时,就继承武器类 ...
- Unity 回合制战斗系统(中级篇)-血条和伤害数值
项目文件找出来了,老版本的脚本有报错,我在新版2019.4.21f1c1下解决了报错,战斗场景可以正常跑的. 需要的同学点下面地址下载(关注就行啦不用积分),祝大家都早日学成 项目包下载 ------ ...
最新文章
- TBluetoothLE.OnDisconnectDevice
- Mysql的sql语句,Delete 中包含 not in
- pkill mysql_每天一个linux命令:kill命令
- c++ string后面会添加‘\0‘
- java tostring的用处_JAVA的tostring()方法的作用是什么呢?
- android opengl es 雾化效果实例
- 使用函数计算打包下载OSS文件
- 树莓派安装系统并设置中文界面
- 2017-2018-1 20179202《Linux内核原理与分析》第四周作业
- 009一对一 主键关联映射_单向(one-to-one)
- 微信公众号(测试号)开发
- 一枚菜鸟前端工程师月度工作总结
- 饥荒服务器文档,建立饥荒服务器
- Debussy软件的脚本调用
- 英伟达3090Ti旗舰显卡,21Gbps速率,450W功耗和新接口
- python 爬取腾讯漫画
- 自主研发编程语言Mulan(木兰)评测(附视频讲解)
- VUE3 之 组件传参
- SaaS产品SEO完整指南
- java梅森素数计算程序_梅森素数计算器(prime95)