天天看點

【遊戲用戶端】如何實作環形進度條【遊戲用戶端】如何實作環形進度條

【遊戲用戶端】如何實作環形進度條

      Hello大家好,我是Lampard。好久沒寫部落格了,之前在忙着制作項目的一個大的副本,趁着過年得閑,和大家分享一下制作過程中遇到的一些有趣的問題。今天主要是分享如何在cocos制作一個環形的進度條

(一) ProgressTimer

    直線的進度條相信大家通過LoadingBar已經使用得非常熟練了,但是如果有一天,策劃想實作一個環形的進度條,那LoadingBar明顯就不能滿足條件了,這是就得請出我們今天的主角--ProgressTimer

     ProgressTimer就是拿一張Sprite精靈圖檔來作為進度條,然後根據一個百分比屬性,實作顯示/隐藏圖檔的一部分區域,達到圖形化顯示進度的作用。在ProgressTimer裡我們可以通過設定進度條屬性為ProgressTimerTypeRadial(矩形屬性),即可實作我們的環形的進度條

(二)如何使用ProgressTimer執行個體化一個進度條

【遊戲用戶端】如何實作環形進度條【遊戲用戶端】如何實作環形進度條

    ProgressTimer需要用一個精靈紋理作為參數執行個體化。然後需要設定其進度條的類型,百分比的比例,錨點的位置,以及旋轉的方向等即可

(三)舉個栗子

CCSprite *icon =CCSprite::create("Icon.png"); // 用一張圖檔來建立一個精靈對象 
timer = CCProgressTimer::create(icon);        // 建立ProgressTimer
timer->setType(kCCProgressTimerTypeBar);      // 設定進度條的類型為扇形
timer->setPercentage(100);                      // 設定目前的進度條百分比資訊
layer:addChild(timer);                        // 添加到 layer
           

      這樣我們已經可以生成一個扇形條,比如我想實作一個倒計時3秒的功能,那麼我們隻需要啟用一個計時器,在3秒内對timer進行setPercent更新,那麼我們就可以看到下面的效果

【遊戲用戶端】如何實作環形進度條【遊戲用戶端】如何實作環形進度條

       隻要我們把生成進度條的紋理換成環形的圖檔,那麼就可以實作環形進度條的效果了

【遊戲用戶端】如何實作環形進度條【遊戲用戶端】如何實作環形進度條

好啦今天就到這裡

點贊,關注!!!

【遊戲用戶端】如何實作環形進度條【遊戲用戶端】如何實作環形進度條

繼續閱讀