menu 首页 标签 归档 作品集 关于
Unity-技能冷却

一言加载中...

国际惯例:先放效果图:

show

那~就实现这个效果,当点击技能按钮后,技能进入冷却状态,技能逐渐冷却完成,相信经常玩游戏的都知道;

结构图:
struct

挺简单,解释在图片上;
更改FillImage上的ImageType属性为:Failed;

下面实现由代码控制每次点击按钮进入冷却状态,2秒后冷却完成;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
public class Skill : MonoBehaviour {
//冷却时间
public float ColdTime = 2f;
//计时器
float timer = 0;
//是否开始冷却
bool startTimer = false;
//冷却图片
private Image fillImage;
void Start () {
//获得冷却图片
fillImage = transform.Find("FillImage").GetComponent<Image>();
}

void Update () {
if (startTimer)
{
timer += Time.deltaTime;
//设置冷却图片显示比率
fillImage.fillAmount = (ColdTime - timer) / ColdTime;
if(timer>=ColdTime)
{
fillImage.fillAmount = 0;
timer = 0;
startTimer = false;
}
}
}

public void OnReleaseSkillClickListener()
{
//点击按钮开始冷却
startTimer = true;
}
}

Tony-Chen
2017.11.30

这个世界很美好,值得我们为之去奋斗。我只认同后半句。

写博客不易,请我喝杯咖啡?

评论

arrow_upward