Unity NGUI实现技能冷却
【摘要】 技能冷却:
首先要有两个UISprite 一个作为游戏图标显示,一个使用半透明的灰色表示冷却过程中的遮罩层,代码当然也直接挂在这个UISprite(即为下图的Mask)上,并且设置Type属性为Filled如下图:
都设置完成之后,开始编写代码吧:
public class JiNengLengQu : MonoBehaviour { public float...
技能冷却:
首先要有两个UISprite 一个作为游戏图标显示,一个使用半透明的灰色表示冷却过程中的遮罩层,代码当然也直接挂在这个UISprite(即为下图的Mask)上,并且设置Type属性为Filled如下图:
都设置完成之后,开始编写代码吧:
public class JiNengLengQu : MonoBehaviour {
public float coldTime = 0.1f; //假装是冷却时间
private bool isColding = false; //是否正在冷却
private UISprite sprite;
void Awake()
{
//获取遮罩层Sprite上UISprite脚本
sprite = GetComponent<UISprite>();
sprite.fillAmount = 0; //保证运行时是一个冷却好的状态,即可放技能状态
}
void Update()
{
if (Input.GetKeyDown(KeyCode.A) && isColding == false)
{
//1- 释放技能:创建粒子系统,显示技能特效..
//2- UI上显示技能冷却效果
sprite.fillAmount = 1;//获取脚本后可以取到fillAmount属性的值,并设为1
isColding = true; //如果按技能了,让冷却开始
}
if (isColding)
{
//fillAmount-=表示每帧减去的值,技能冷却中
sprite.fillAmount -= coldTime*Time.deltaTime;
if (sprite.fillAmount <= 0.05f) //fillAmount值为极小时,让冷却停止
{
isColding = false;
sprite.fillAmount = 0; //并让fillAmount值为0,表示此次冷却完成
Debug.Log("又可以放技能啦!");
}
}
}
}
文章来源: czhenya.blog.csdn.net,作者:陈言必行,版权归原作者所有,如需转载,请联系作者。
原文链接:czhenya.blog.csdn.net/article/details/77748591
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)