最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

CocosCreator實(shí)現(xiàn)技能冷卻效果

 更新時(shí)間:2021年04月15日 09:45:58   作者:property-Cocos  
這篇文章主要介紹了CocosCreator實(shí)現(xiàn)技能冷卻效果,同學(xué)們可以跟著教程,親手試一下,代碼都是可以復(fù)用的

CocosCreator實(shí)現(xiàn)技能CD效果

在很多游戲里面都有技能,玩家在點(diǎn)擊技能按鈕后技能會(huì)有一個(gè)冷卻的時(shí)間,當(dāng)冷卻時(shí)間過(guò)了之后技能才可以再次使用

在cocos中實(shí)現(xiàn)這個(gè)效果很簡(jiǎn)單,需要用到精靈組件
首先將技能按鈕的圖片拖到canvas下

然后在技能按鈕下新建一個(gè)label
像這樣

然后新建TS腳本把下面的代碼復(fù)制粘貼進(jìn)去

const {ccclass, property} = cc._decorator;

@ccclass
export default class NewClass extends cc.Component {

    @property(cc.Sprite)
    skill:cc.Sprite = null;//技能精靈

    @property(cc.Label)
    time_label:cc.Label = null;//顯示技能冷卻剩余時(shí)間的文字

    @property
    time:number = 3;//技能冷卻時(shí)間

    @property
    isshow_label:boolean = true;//是否顯示文字

    onLoad(){
        this.skill.fillRange = 1;//游戲開(kāi)始的時(shí)候技能的填充范圍是1
    }

    update(dt:number){
        if(this.skill.fillRange != 1){//如果技能精靈的填充不為1 也就是說(shuō)已經(jīng)使用了技能
            this.skill.fillRange += dt / this.time;//恢復(fù)技能   每幀恢復(fù)的值為幀率 / 技能冷卻時(shí)間
            this.time_label.string = Math.floor(((1 - this.skill.fillRange) * this.time)).toString();//每幀更新技能剩余時(shí)間
            //技能剩余時(shí)間首先1 - 技能精靈的填充度再 * 技能冷卻時(shí)間,最后Math.floor取整

            if(this.isshow_label == true){//如果可以顯示文字
                this.time_label.node.active = true;//顯示技能冷卻剩余時(shí)間
            }        }
        if(this.skill.fillRange == 1){//如果技能精靈的填充為1 也就是說(shuō)技能還沒(méi)被使用
            this.skill.getComponent(cc.Button).interactable = true;//啟動(dòng)按鈕
            this.time_label.node.active = false;//隱藏技能冷卻剩余時(shí)間
        }
    }

    onbtn(){//按下技能按鈕時(shí)的事件
        this.skill.fillRange = 0;//技能填充范圍設(shè)置為0
        console.log("使用了技能");//打印log
        this.skill.getComponent(cc.Button).interactable = false;//禁用按鈕
    }

}

每一句代碼我都寫了很詳細(xì)的注釋哦

把寫好的腳本掛到技能按鈕上,然后綁定節(jié)點(diǎn)

可以根據(jù)需要隨意修改

  • Time是技能的冷卻時(shí)間,想改多少改多少
  • Isshow_time是是否顯示冷卻剩余時(shí)間的文字,如果不想讓文字顯示就把他勾掉,默認(rèn)是顯示

光寫代碼是不夠的,還需要給技能按鈕做一些設(shè)置
需要改動(dòng)sprite(精靈)組件并且給技能按鈕添加button(按鈕)組件

按照?qǐng)D片調(diào)好

  1. Type 需要把精靈的渲染模式改為填充
  2. Fill Type 把填充方式改為扇形填充
  3. Fill Center 修改扇形的中心點(diǎn) 0,0為左下角1,1為右上角 我們希望扇形圍繞中心點(diǎn)來(lái)填充,所以改成0.5,0.5
  4. Fill Range 把填充總量改為1

最后給技能按鈕添加button(按鈕)組件

綁定的事件就是onbtn,為了好看再把button組件的Transition改為COLOR

大功告成,這樣就可以了
點(diǎn)擊運(yùn)行看一下

真不錯(cuò)

在點(diǎn)擊技能按鈕的時(shí)候想實(shí)現(xiàn)什么功能就把代碼都放在onbtn里面就可以了

放這里面就可以

比如可以在按下技能按鈕的時(shí)候播放一個(gè)特效動(dòng)畫

以上就是CocosCreator實(shí)現(xiàn)技能冷卻效果的詳細(xì)內(nèi)容,更多關(guān)于CocosCreator技能冷卻的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • js統(tǒng)計(jì)頁(yè)面的來(lái)訪次數(shù)實(shí)現(xiàn)代碼

    js統(tǒng)計(jì)頁(yè)面的來(lái)訪次數(shù)實(shí)現(xiàn)代碼

    這篇文章主要介紹了如何使用js統(tǒng)計(jì)頁(yè)面的來(lái)訪次數(shù),需要的朋友可以參考下
    2014-05-05
  • localStorage過(guò)期時(shí)間設(shè)置的幾種方法

    localStorage過(guò)期時(shí)間設(shè)置的幾種方法

    聊到localStorage想必熟悉前端的朋友都不會(huì)陌生,在實(shí)際的應(yīng)用場(chǎng)景中,我們往往需要讓localStorage設(shè)置的某個(gè)key能在指定時(shí)間內(nèi)自動(dòng)失效,所以基于這種場(chǎng)景,我們?nèi)绾稳ソ鉀Q呢,本文就詳細(xì)的介紹一下
    2021-12-12
  • Javascript立即執(zhí)行函數(shù)(IIFE)實(shí)例詳解

    Javascript立即執(zhí)行函數(shù)(IIFE)實(shí)例詳解

    IIFE全拼Imdiately?Invoked?Function?Expression,是一個(gè)在定義的時(shí)候就立即執(zhí)行的JavaScript函數(shù),這篇文章主要給大家介紹了關(guān)于Javascript立即執(zhí)行函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • JS電梯導(dǎo)航的實(shí)現(xiàn)示例

    JS電梯導(dǎo)航的實(shí)現(xiàn)示例

    本文主要介紹了JS電梯導(dǎo)航的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • js 數(shù)組實(shí)現(xiàn)一個(gè)類似ruby的迭代器

    js 數(shù)組實(shí)現(xiàn)一個(gè)類似ruby的迭代器

    今天突然發(fā)現(xiàn)js的數(shù)組處理起來(lái)真是麻煩,代碼一些就是一大堆,相比起ruby的迭代器來(lái)真是遜色不少。
    2009-10-10
  • JS滾輪控制圖片縮放大小和拖動(dòng)的實(shí)例代碼

    JS滾輪控制圖片縮放大小和拖動(dòng)的實(shí)例代碼

    本文通過(guò)實(shí)例代碼給大家介紹了js 滾輪控制圖片縮放大小和拖動(dòng),代碼簡(jiǎn)單易懂,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2018-11-11
  • 前端百度地圖添加點(diǎn)并跳轉(zhuǎn)到百度地圖進(jìn)行導(dǎo)航完整代碼

    前端百度地圖添加點(diǎn)并跳轉(zhuǎn)到百度地圖進(jìn)行導(dǎo)航完整代碼

    web開(kāi)發(fā)過(guò)程中經(jīng)常碰到需要調(diào)用百度地圖來(lái)視線定位導(dǎo)航的過(guò)程,許多技術(shù)博客上介紹的都是調(diào)用百度地圖的api,這篇文章主要給大家介紹了關(guān)于前端百度地圖添加點(diǎn)并跳轉(zhuǎn)到百度地圖進(jìn)行導(dǎo)航的相關(guān)資料,需要的朋友可以參考下
    2024-07-07
  • jquery中click等事件綁定及移除的幾種方法小結(jié)

    jquery中click等事件綁定及移除的幾種方法小結(jié)

    這篇文章主要介紹了jquery中綁定事件與解綁事件是常用到的寫法,這里總結(jié)了幾種常見(jiàn)的綁定事件與解綁事件的方法,需要的朋友可以參考下
    2023-05-05
  • Javascript 調(diào)試?yán)?Firebug使用詳解六

    Javascript 調(diào)試?yán)?Firebug使用詳解六

    有時(shí)候,為了更清楚方便的查看輸出信息,我們可能需要將一些調(diào)試信息進(jìn)行分組輸出,那么可以使用console.group來(lái)對(duì)信息進(jìn)行分組,在組信息輸出完成后用console.groupEnd結(jié)束分組。
    2009-07-07
  • 微信小程序使用Echarts和分包的完整步驟

    微信小程序使用Echarts和分包的完整步驟

    這篇文章主要給大家介紹了關(guān)于微信小程序使用Echarts和分包的完整步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論

商洛市| 林口县| 石嘴山市| 岗巴县| 台北市| 庄浪县| 常州市| 耿马| 湖州市| 房产| 博白县| 龙江县| 田阳县| 阿拉善左旗| 壤塘县| 马公市| 天峻县| 绥中县| 新乡县| 黎川县| 哈巴河县| 玛曲县| 黑河市| 牙克石市| 宜川县| 理塘县| 余庆县| 海口市| 遂溪县| 卫辉市| 宜黄县| 涟水县| 武邑县| 通江县| 鲁山县| 肇州县| 桓仁| 峡江县| 吕梁市| 晋宁县| 三穗县|