技能冷卻效果的制作
前言:在學習的過程中,不管是在手遊還是頁遊中,我們會制作技能冷卻效果的制作。這是非常适用的東西。同時也非常的簡單,我們直接奉獻代碼:
public class SkillCoolingEffect : MonoBehaviour
{
#region 字段和屬性定義
[HideInInspector]
public float ColdTime = 2f; //冷卻的時間
public Button Button; //按鈕的引用
private bool _isStartSkill = false; //是否開始冷卻
private Image _filledImage; //技能冷卻的填充圖檔
#endregion
void Start()
{
//按鈕注冊監聽的事件
Button.onClick.AddListener(OnClick);
//得到Image元件的引用
_filledImage = transform.Find("FilledImage").GetComponent<Image>();
}
void Update()
{
//點選按鈕開始進行技能的冷卻
if (_isStartSkill)
{
//_timer += Time.deltaTime;
//控制fillAmount屬性進行從1-0的遞減
_filledImage.fillAmount = (ColdTime - Time.time) / ColdTime;
//_filledImage.fillAmount = 1 / ColdTime * Time.time;
//當時間大于等于冷卻的時間的時候
if (Time.time >= ColdTime)
{
//手動設定fillAmount=0
_filledImage.fillAmount = 0;
//冷卻結束 布爾條件重新設定為false
_isStartSkill = false;
}
}
}
#region 公共方法的定義
#endregion
#region 私有方法的定義
/// <summary>
/// 點選按鈕後開始進行冷卻
/// </summary>
private void OnClick()
{
_isStartSkill = true;
}
#endregion
}//class_end
轉載于:https://www.cnblogs.com/MoRanQianXiao/p/7861195.html