今天帶給大家的是一個關於技能CD的效果製作。
此效果不僅可以用於技能CD,一些按鈕的CD也是可以用的。
爲了照顧大家迫不及待(猴急)的心情,我寫了一個DEMO給大家。DEMO上面做了5個英雄的技能和一個XP技能的CD,且它們的CD時間是不一樣的。 並且如果技能出現CD,再次點擊是無效的。 相關代碼可以直接複用。
在線演示:https://qilinzi.ukylin.net?lesson=05
麒麟子一開始預備了兩個套路
一、是準備100張圖片,然後根據CD進度進行切換
對於第一個方案,肯定是可行的,且不需要引擎提供特殊支持。而由於麒麟子的PS功力有限,沒有折騰出來。值得說明的是,此方案適用於任何引擎,只要有對應的美術圖片配合就行
二、繪製100個Graphics作爲緩存,然後根據CD進度進行切換
麒麟子創建了一個節點,添加了一個cc.Graphics組件。 最後發現,cc.Graphics的arc函數,並不能繪製出我想要的效果。 既然沒有直接支持的函數,想必Cocos Creator並不推薦這樣的操作。 放棄了。
思索了半分鐘,抱着試一試的心態,打開了ProgressBar的組件,畢竟,CD效果從本質上來說,是一個倒着播放的進度條。
三、最終,找到了基於ProgressBar組件的解決方案
1、場景樹右鍵 --> 新建 --> UI組件 -->ProgressBar組件
2、修改New ProgressBar以及其子節點bar的 寬高, 調爲正方形,且錨點爲0.5,0.5
3、修改bar的填充模式,如下(注意紅色箭頭部分)
4、修改New ProgressBar的參數如下(注意紅色箭頭部分)
然後拖動Progress就能看到變化了。
四、DEMO
DEMO向大家展示了以下內容
1、技能點擊響應
2、技能CD根據不同的時間,進行CD效果旋轉
3、爲了匹配技能效果,我旋轉了技能CD層的節點
DEMO源代碼地址 https://gitee.com/qilinzi/qlz_ccc_tips 目錄05_skill_cd