Unity外掛NGUI實現技能冷卻效果
二十一 技能CD冷卻效果
1 建立一個Sprite1作為技能圖示,建立一個文字子物體作為快捷鍵
2 再建立一個Sprite2作為Sprite1的子物體,設定成Sprite1的大小
3 將Sprite2的Type設為Filled,此時調節Fill Amount可顯示出類似效果,改變Sprite的顏色與透明度
4 建立一個指令碼指定給Sprite1
指令碼設計如下:
using UnityEngine;
using System.Collections;
public class Skill :MonoBehaviour {
private bool isCoding=false
// Use this for initialization
public float coldTime=2;//節能冷卻時間
private UISprite sprite;//遮蓋物
void Awake(){
sprite=transform .Find("Sprite").GetComponent<UISprite>();
}
void Update(){
if(Input .GetKeyDown(KeyCode.A)&&isCoding==false)
{/如果出發了技能並且冷卻完畢
//1釋放技能
//2顯示技能冷卻
sprite.fillAmount=1;
isCoding=true;
}
if(isCoding==true){
sprite.fillAmount-=(1f/coldTime)*Time.deltaTime;//速度
if(sprite.fillAmount<=0.005)
{
isCoding=false;
sprite.fillAmount=0;
}
}
}
}
注:出現了Unexpected symbol `private' in class, struct, or interface member declaration
原因:在上邊註釋前少打了一個分號
按A時會出現技能冷卻效果