【遊戲用戶端】如何實作環形進度條
Hello大家好,我是Lampard。好久沒寫部落格了,之前在忙着制作項目的一個大的副本,趁着過年得閑,和大家分享一下制作過程中遇到的一些有趣的問題。今天主要是分享如何在cocos制作一個環形的進度條
(一) ProgressTimer
直線的進度條相信大家通過LoadingBar已經使用得非常熟練了,但是如果有一天,策劃想實作一個環形的進度條,那LoadingBar明顯就不能滿足條件了,這是就得請出我們今天的主角--ProgressTimer
ProgressTimer就是拿一張Sprite精靈圖檔來作為進度條,然後根據一個百分比屬性,實作顯示/隐藏圖檔的一部分區域,達到圖形化顯示進度的作用。在ProgressTimer裡我們可以通過設定進度條屬性為ProgressTimerTypeRadial(矩形屬性),即可實作我們的環形的進度條
(二)如何使用ProgressTimer執行個體化一個進度條
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLicWZwpmL0UTNkFDZzYzY5gzYyUjZ5cDOhRTYkJDOwQmYhJDNihzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpeg)
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更新,那麼我們就可以看到下面的效果
隻要我們把生成進度條的紋理換成環形的圖檔,那麼就可以實作環形進度條的效果了
好啦今天就到這裡
點贊,關注!!!