亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Cocos2dx學習筆記12:cocos2dx進度條(ProgressTimer)

發布時間:2020-07-28 23:21:11 來源:網絡 閱讀:707 作者:frankxzb 欄目:開發技術

在游戲開發中,我們通常需要做一個游戲的進度條來過渡游戲的場景切換或者顯示游戲資源的加載進度。

同樣的來說,進度條可以在角色扮演游戲中作為玩家或者怪物頭頂的生命條,或者消除類休閑游戲的倒計時等。進度條多種多樣,如何合理的使用根據游戲的項目需求而定。

cocos2dx中,進度條使用 ProgressTimer 來實現,首先要定義精靈綁定進度條。

打開我們創建的項目cocosxuexi,直接改寫init()初始化里的代碼來實現,先把以前寫的代碼注釋掉。

1、首先在HelloWorldScene.h文件里定義2個指針。

public:

virtualvoid update(float dt);//默認調度器

private:

ProgressTimer* progress1;//定義進度條指針

LabelTTF* numsTTF;//定義標簽指針


2、HelloWorldScene.cppinit()方法里創建一個進度條和一個進度條的邊框

Size visibleSize = Director::getInstance()->getVisibleSize();

Vec2 origin = Director::getInstance()->getVisibleOrigin();

//創建一個進度條精靈邊框  

auto progressbgSprite=Sprite::create("loadKuang.png");  

  progressbgSprite->setPosition(Vec2(origin.x + visibleSize.width/2,origin.y + visibleSize.height/2));    

this->addChild(progressbgSprite, 1);  


//創建一個進度條精靈

auto progressSprite=Sprite::create("loadBar.png");  

  progress1=ProgressTimer::create(progressSprite);      

  progress1->setType(kCCProgressTimerTypeBar);      

  progress1->setPosition(Vec2(origin.x + visibleSize.width/2,origin.y + visibleSize.height/2));    

//進度動畫運動方向,可以多試幾個值,看看效果  

  progress1->setMidpoint(Vec2(0, 0));      

//進度條寬高變化  

  progress1->setBarChangeRate(Vec2(1, 0));      

  progress1->setPercentage(0); //設置進度條百分比為0%

this->addChild(progress1, 1);    

  numsTTF=CCLabelTTF::create("0", "Thonburi", 18);      

  numsTTF->setPosition(origin.x + visibleSize.width/2,origin.y + visibleSize.height/2);      

this->addChild(numsTTF, 1);  

  scheduleUpdate();  //默認調度器,調用update()方法



   3、HelloWordScene.cpp里實現update()方法


voidHelloWorld::update(floatdt)

{

float cu=progress1->getPercentage();  //獲取百分比    

   cu=cu+1.0f;  //進度條進度 每次加1%      

   progress1->setPercentage(cu);  


if (cu <= 100)    //如果進度小于等于100%  

   {

auto str1 = String::createWithFormat("%.2f%%",cu);  

numsTTF->setString(str1->getCString());  //設置標簽顯示內容

   }

//如果進度條達到100%,則停止

else

   {

unscheduleUpdate();//停止默認調度器

}

}


到此一個可用的進度條就已經實現了。如果用來實現場景自動切換,直接在update()里停止調度器后就實現自動切換操作。

效果預覽:

Cocos2dx學習筆記12:cocos2dx進度條(ProgressTimer)


Cocos2dx學習筆記12:cocos2dx進度條(ProgressTimer) 

http://www.byjth.com/biji/32.html


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

台南市| 克东县| 夏津县| 通州区| 乡城县| 增城市| 招远市| 额济纳旗| 云阳县| 灵宝市| 鄂尔多斯市| 嵩明县| 通渭县| 恩平市| 怀柔区| 溧水县| 老河口市| 陵川县| 泰兴市| 德保县| 罗江县| 正镶白旗| 来安县| 修水县| 改则县| 中西区| 中阳县| 涿鹿县| 卢氏县| 浦城县| 郓城县| 满洲里市| 江油市| 三明市| 廊坊市| 剑川县| 闽侯县| 汉沽区| 禹州市| 隆尧县| 洛浦县|