1. 程式人生 > >Unity外掛NGUI實現技能冷卻效果

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時會出現技能冷卻效果