Cocos2d-x 3.4 進度條總結,cocos2d-x3.4

來源:互聯網
上載者:User

Cocos2d-x 3.4 進度條總結,cocos2d-x3.4


Cocos2d-x 3.4進度條

 

旋轉進度條

auto s =Director::getInstance()->getWinSize();

auto to1 =Sequence::createWithTwoActions(ProgressTo::create(2,100),ProgressTo::create(0,0));//旋轉進度條

auto left =ProgressTimer::create(Sprite::create("Images/grossini.png"));

left->setType(ProgressTimer::Type::RADIAL);

left->setReverseProgress(true);//反轉執行

addChild(left);

left->setPosition(100,s.height/2);

left->runAction(RepeatForever::create(to1));

 

水平進度條

auto to2 =Sequence::createWithTwoActions(ProgressTo::create(2,100),ProgressTo::create(0,0));

auto left =ProgressTimer::create(Sprite::create("Images/grossini.png"));

left->setType(ProgressTimer::Type::BAR);//BAR水平進度條

left->setMidpoint(Vec2(1,0));//從右至左 ,Vec2(0,0)為從左至右

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

addChild(left);

left->setPosition(100,s.height/2);

left->runAction(RepeatForever::create(to2));

 

垂直進度條

auto t3 =Sequence::createWithTwoActions(ProgressTo::create(2,100),ProgressTo::create(0,0));

auto left =ProgressTimer::create(Sprite::create("Images/grossini.png"));

left->setType(ProgressTimer::Type::BAR);

left->setMidpoint(Vec2(0,1));//從上到下,Vec2(0,0)為從下到上

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

addChild(left);

left->setPosition(100,s.height/2);

left->runAction(RepeatForever::create(t3));

 

BAR類型進度條設定變化

auto t5 =Sequence::createWithTwoActions(ProgressTo::create(2,100),ProgressTo::create(0,0));

auto left =ProgressTimer::create(Sprite::create("Images/grossini.png"));

left->setType(ProgressTimer::Type::BAR);

left->setMidpoint(Vec2(0.5f,0.5f));

left->setBarChangeRate(Vec2(1,1));//從中心向四周擴散,Vec2(1,0)從中心向兩邊擴散,Vec2(0,1)從中心向山下擴散

addChild(left);

left->setPosition(s.width/2,s.height/2);

left->runAction(RepeatForever::create(t5));

 

可變換旋轉中心的旋轉進度條

auto t4 =Sequence::createWithTwoActions(ProgressTo::create(2,100),ProgressTo::create(0,0));

auto left =ProgressTimer::create(Sprite::create("Images/grossini.png"));

left->setType(ProgressTimer::Type::RADIAL);

left->setMidpoint(Vec2(0.75f,0.25f));//設定旋轉中心點

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

addChild(left);

left->setPosition(100,s.height/2);

left->runAction(RepeatForever::create(t4));

 

進度條搭配其他動作

auto t6 =Sequence::createWithTwoActions(ProgressTo::create(6,100),ProgressTo::create(0,0));

auto hint =Sequence::create(TintTo::create(1,255,0,0),TintTo::create(1,0,255,0),TintTo::create(1,0,0,255),nullptr);

auto left =ProgressTimer::create(Sprite::create("Images/grossini.png"));

left->setType(ProgressTimer::Type::BAR);

left->setMidpoint(Vec2(0.5f,0.5f));

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

addChild(left);

left->setPosition(100,100);

left->runAction(RepeatForever::create(t6->clone()));

left->runAction(RepeatForever::create(hint->clone()));

 

使用緩衝中圖片載入進度條,通過載入plist檔案

auto t7 =Sequence::createWithTwoActions(ProgressTo::create(6,100),ProgressTo::create(0,0));

   SpriteFrameCache::getInstance()->addSpriteFramesWithFile("zwoptex/grossini.plist");

   auto left =ProgressTimer::create(Sprite::createWithSpriteFrameName("grossini_dance_01.png"));

   left->setMidpoint(Vec2(0.5f,0.5f));

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

   addChild(left);

   left->setPosition(300,300);

   left->runAction(RepeatForever::create(t7->clone()));

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.