越在层级面板的上面,图层靠底层,否则图片靠上层
using UnityEngine;
using UnityEngine.UI;public class SkillCD : MonoBehaviour {
[Header("技能CD时间")]
[Range(1,100)]
public float cd=3f;
//当前图片组件
private Image maskImage;
//计时器
private float timer = 0;
//开始转CD
private bool beginCD = false;
// Use this for initialization
private void Awake()
{
//找到组件
maskImage = GetComponent<Image>();
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown(0)&&!beginCD) {
Debug.Log("使用技能");
//设置填充值为1
maskImage.fillAmount = 1;
//开始转CD
beginCD = true;
}
if (beginCD) {
//转CD,填充值减少
maskImage.fillAmount -= Time.deltaTime/cd;
//cd转完了,可以再次使用该技能
if (maskImage.fillAmount==0) {
beginCD = false;
}
}
}
}
using UnityEngine;
using UnityEngine.UI;public class SkillCD : MonoBehaviour {
[Header("技能CD时间")]
[Range(1,100)]
public float cd=3f;
//当前图片组件
private Image maskImage;
//技能CD时间显示文本
private Text cdText;
//计时器
private float timer = 0;
//开始转CD
private bool beginCD = false;
// Use this for initialization
private void Awake()
{
//找到组件
maskImage = GetComponent<Image>();
//找到文本组件
cdText = transform.GetChild(0).GetComponent<Text>();
}
// Update is called once per frame
void Update () {
if (Input.GetMouseButtonDown(0)&&!beginCD) {
Debug.Log("使用技能");
//设置填充值为1
maskImage.fillAmount = 1;
//开始转CD
beginCD = true;
}
if (beginCD) {
//转CD,填充值减少
maskImage.fillAmount -= Time.deltaTime/cd;
//显示技能可以再次使用的剩余时间
cdText.text = (maskImage.fillAmount * cd).ToString("0.00");
//cd转完了,可以再次使用该技能
if (maskImage.fillAmount==0) {
cdText.text = "";
beginCD = false;
}
}
}
}