Unity3d C#实现类似于王者荣耀技能读条和CD冷却的功能(含源码)
效果
效果如图,主要是释放技能后,有一定的技能的持续时间(也可以设置为0),然后技能释放完成后,技能进入了冷却时间的倒计时,技能冷却完成后就可以再次释放。
实现
UI搭建
UI的搭建较为简单就是几张图片(Image)配合文本(Text),文本主要用于技能冷却文字的提示和冷却CD倒计时的显示,而图片就包含了技能的图标、技能释放的外环(用于显示释放倒计时)、技能冷却的倒计时图片等,效果如图:
不过技能释放的外环和技能冷却倒计时图片需要将他们的Image Type设置为Filled:
编写代码
技能的配置项我们将他们提取为公用的,而且可以配置的操作:
[Header("技能释放持续时间")]public float SkillDura;[Header("技能CD")]public float SkillCD;[Header("UI图片&文字")]public Text CountDownText;
public Image DoingImg, CoverImg;
这样我们就能在单个技能中配置多个技能各自的相关属性了。生产的配置面板如图:
技能的释放中的更新操作主要是根据释放的时间来更新释放图片的进度(fillAmount),并在释放完成后设置还原释放状态。
void DoSkillUpdate() {if (Time.time - SkillTime <= SkillDura){DoingImg.fillAmount = (SkillDura - (Time.time - SkillTime)) / SkillDura;//CountDownText.text = (SkillDura - (Time.time - SkillTime)).ToString("F1");CountDownText.text = "";}else{IsDoing = false;CoverImg.fillAmount = 1;DoingImg.fillAmount = 0;LastTime = Time.time;}
}
技能冷却CD读秒的过程,主要的操作是更新技能冷却图片的进度(fillAmount)和技能冷却的倒计时,并在技能冷却后重新设置技能的状态。
void SkillNotReadyUpdate() {if (Time.time - LastTime <= SkillCD){CountDownText.text = "冷却中\n"+(SkillCD - (Time.time - LastTime)).ToString("F1");CoverImg.fillAmount = (SkillCD - (Time.time - LastTime)) / SkillCD;}else{CountDownText.text = "";IsReady = true;CoverImg.fillAmount = 0;}}
技能的释放接口,我们需要进行一定的状态判断,正在释放中或者冷却中是无法释放的,释放接口如下:
public void DoSkill() {if (!IsReady || IsDoing)return;CoverImg.fillAmount = 0;LastTime = Time.time;SkillTime = Time.time;IsReady = false;IsDoing = true;}
并将该函数绑定在技能的图标的按钮点击函数上,这样点击技能就可以实施技能。
这样技能的编码全部完成。
其它
有很多时候技能是没有持续时间(即为0),这时候只需要将SkillDura设置为0
技能便可以秒释放,且开始冷却技能。
这里我多克隆几个技能图标,并设置不同的参数,通过快捷键同步实施效果如下:
源码工程
https://download.csdn.net/download/qq_33789001/87349847
(打不开说明暂时未审核通过)
Unity3d C#实现类似于王者荣耀技能读条和CD冷却的功能(含源码)相关推荐
- JavaScript防抖(王者荣耀回城)、节流(王者荣耀技能读条)
防抖(王者荣耀回城) 回城按一次读条八秒钟,回到一半,在按一次回城开始重新读条八秒,多次猛按回城,不回家,开启嘲讽,重复开始读条 <button id="btn"> 回 ...
- Unity3d C#模仿实现王者荣耀英雄禁用灰化(黑白化)功能含工程源码
效果 直接上效果,如下动图: 实现 这个功能的操作是在用户选中英雄头像后,将头像灰化,即将UI的图片进行黑白化,这里主要通过着色器来实现,因为个人着色器操作不是很多,都是借鉴网上的代码实现. 着色器 ...
- 王者荣耀出装与铭文推荐助手微信小程序源码支持多种流量主
这是一款王者荣耀助手的一款小程序源码 该小程序主要功能就是提供各个英雄出装和铭文查询 功能虽然单调但是对于玩王者的朋友来说还是挺实用的! 目前该小程序源码已支持多种流量主模式 小程序源码下载地址: C ...
- Unity3d C# 实现纯鼠标平滑控制场景摄像头(相机)实现自由旋转、移动和围绕节点移动旋转等功能(含源码工程)
相机控制 前言 效果 漫游效果 围绕节点效果 实现过程 功能范围 搭建场景 编码实现 变量设置 自由漫游 观察节点 功能使用 项目工程 瑕疵 前言 在很多情况下我们都会用到如题的功能,在一般情况下我们 ...
- 服务器正在维护中王者荣耀s24,王者荣耀s24赛季更新到几点 王者荣耀更新进度条不动了是怎么回事...
就在近日王者荣耀正式服进行停机更新,不少网友们对于此次更新还是蛮期待的,不过有些网友反馈到,王者荣耀更新进度条有些慢,有时很长时间都不动一下的.那么这是怎么回事呢?此外王者荣耀s24赛季要更新到什么时 ...
- 读文章笔记(三):从源码学习Transformer
读文章笔记(三):从源码学习Transformer encoder分为两部分: decoder 公众号机器学习算法工程师 文章链接: https://mp.weixin.qq.com/s/0NajB_ ...
- 自定义View之王者荣耀等级进度条
Demo效果 这里用王者荣耀的等级做了一个demo 实现思路 由进度条想到ProgressBar,继承自ProgressBar,可以在onDraw()中通过getProgress()和getMax() ...
- unity主角移动到屏幕最左侧时向上移动_王者荣耀:新增右手模式,连线功能升级,守卫峡谷增加天赋系统 – 手机游戏网—推荐最精彩的手机游戏...
随着王者峡谷年度盛宴-周年庆的开启,永久英雄皮肤.回城.击败特效.个性动作和各种五周年限时语音开放获取,在最新开启的参与放灯祈愿活动中,所有玩家除了可以获知自己降临峡谷的时间,还能获得"祝你 ...
- Unity3d C#用UGUI系统实现类似于哔哩哔哩(B站)的弹幕效果功能(含源码)
前言 弹幕的功能在一些,需要滚动显示文字信息的场景下,还是很有需要.这里就模拟实现一下类似于B站弹幕的效果. 效果 如图的效果: 实现过程 实现的思路是一个管理脚本,加上一个移动文本的脚本,管理脚本随 ...
最新文章
- Simple File System
- Nosql简介 Redis,Memchche,MongoDb的区别
- hue 配置mysql数据源_hue-使用mysql作为元数据库
- 公文字体字号标准2020_一文了解公文格式规范,图文并茂(建议收藏备用)
- 旋转炫酷相册-快制作你喜欢源码
- faster RCNN 与 fast RCNN 一分钟回忆图
- tomcat乱码问题解决
- KB4484127 更新导致ACCESS数据库查询报 Query '' is corrupt 异常解决方案
- 网页性能优化之图片懒加载
- WebRTC系列--视频编码控制之BALANCED(分辨率与帧率平衡模式)
- selenium碰到 href = ‘/‘ 这样的一个链接怎么办
- 机器学习(五)logistic回归进行二分类以及多分类(Python代码)
- linux基础命令学习笔记
- 计算机的变化作文,我的变化作文
- 如何制作透明的树Shader和一个玻璃Shader
- springboot毕设项目海尔空调售后服务系统d70j3(java+VUE+Mybatis+Maven+Mysql)
- 企业邮箱的注册申请,个人企业邮箱申请流程!
- 《离散时间信号处理学习笔记》—z变换(二)
- iOS中 UISearchController 搜索栏 UI技术分享
- 【visio整理1---开发Microsoft Visio解决方案】