用ngui Sprite自带的属性fillAmount,利用改变fillAmount值完成
public UISprite Sprites;
public UILabel Lable;
public UIButton Btn;
// Use this for initialization
void Start()
{
}
bool isCude = false;
private float TimeSpeed = 10;
// Update is called once per frame
void Update()
{
if (Input.GetKey(KeyCode.Q) && !isCude)
{
Sprites.gameObject.SetActive(true);
Sprites.fillAmount = 1;
Lable.text = TimeSpeed.ToString("F1");
isCude = true;
}
if (isCude)
{
Sprites.fillAmount -= (1f / TimeSpeed) * Time.deltaTime;//对图片按照时间进行360度的旋转剪切
Lable.text = (TimeSpeed * Sprites.fillAmount).ToString("F1");//改变冷却时间
if (Sprites.fillAmount <= 0.01f)
{
isCude = false;
Sprites.fillAmount = 0;
Lable.text = "";
Btn.GetComponent<UIButton>().enabled = true;
Sprites.gameObject.SetActive(false);
}
else
{
Btn.GetComponent<UIButton>().enabled = false;
}
}
}