生活随笔
收集整理的這篇文章主要介紹了
cocos2d-x游戏开发(十五)游戏加载动画loading界面
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
個人原創(chuàng),歡迎轉(zhuǎn)載:http://blog.csdn.net/dawn_moon/article/details/11478885
這個資源加載的loading界面demo是在玩客網(wǎng)做逆轉(zhuǎn)三國的時候隨手寫的,雖然我在那只待了2個禮拜,但是也算參與了一個商業(yè)游戲項目了,學(xué)到不少東西。當時使用的cocos2d-x還是1.0版的,我用2.1.2的調(diào)試過了。
上圖:
好了,很簡單,代碼有注釋
上代碼:
[cpp]?view plaincopyprint?
#include?"HelloWorldScene.h"?? #include?"SimpleAudioEngine.h"?? ?? using?namespace?cocos2d;?? using?namespace?CocosDenshion;?? ?? CCScene*?HelloWorld::scene()?? {?? ?????? ????CCScene?*scene?=?CCScene::create();?? ?????? ?????? ????HelloWorld?*layer?=?HelloWorld::create();?? ?? ?????? ????scene->addChild(layer);?? ?? ?????? ????return?scene;?? }?? ?? ?? bool?HelloWorld::init()?? {?? ?????? ?????? ????if?(?!CCLayer::init()?)?? ????{?? ????????return?false;?? ????}?? ?????? ????m_iLoadIdex?=?0;?? ?? ?????? ?????? ?????? ?? ?????? ????CCMenuItemImage?*pCloseItem?=?CCMenuItemImage::create(?? ????????????????????????????????????????"CloseNormal.png",?? ????????????????????????????????????????"CloseSelected.png",?? ????????????????????????????????????????this,?? ????????????????????????????????????????menu_selector(HelloWorld::menuCloseCallback)?);?? ????pCloseItem->setPosition(?ccp(CCDirector::sharedDirector()->getWinSize().width?-?20,?20)?);?? ?? ?????? ????CCMenu*?pMenu?=?CCMenu::create(pCloseItem,?NULL);?? ????pMenu->setPosition(?CCPointZero?);?? ????this->addChild(pMenu,?1);?? ?? ?????? ?????? ?? ?????? ?????? ????CCLabelTTF*?pLabel?=?CCLabelTTF::create("Hello?World",?"Thonburi",?34);?? ?? ?????? ????CCSize?size?=?CCDirector::sharedDirector()->getWinSize();?? ?? ?????? ????pLabel->setPosition(?ccp(size.width?/?2,?size.height?-?20)?);?? ?? ?????? ????this->addChild(pLabel,?1);?? ?? ?????? ????CCSprite*?pSprite?=?CCSprite::create("HelloWorld.png");?? ?? ?????? ????pSprite->setPosition(?ccp(size.width/2,?size.height/2)?);?? ?? ?????? ????this->addChild(pSprite,?0);?? ?????? ?????? ????m_progressFrame?=?CCSprite::create("loading_fr.png");?? ????addChild(m_progressFrame,1);?? ????m_progressFrame->setPosition(ccp(240,?50));?? ?????? ?????? ????m_progressBar?=?CCProgressTimer::create(CCSprite::create("loading_bar.png"));?? ????m_progressBar->setType(kCCProgressTimerTypeBar);?? ????addChild(m_progressBar);?? ????m_progressBar->setVisible(true);?? ????m_progressBar->setPosition(ccp(241,?51));?? ?????? ????m_progressBar->setMidpoint(ccp(0,?0));?? ?????? ????m_progressBar->setBarChangeRate(ccp(1,?0));?? ????m_progressBar->setPercentage(0);?? ?????? ?????? ????CCProgressTo?*to?=?CCProgressTo::create(10,?100);?? ????m_progressBar->runAction(to);?? ?????? ?????? ?? ????return?true;?? }?? ?? void?HelloWorld::update(float?dt)?? {?? ?????? ????m_iLoadIdex++;?? ?????? ????if?(m_iLoadIdex?<=?50)?{?? ????????loadResource(m_iLoadIdex);?? ????????m_progressBar->setPercentage(m_iLoadIdex?*?100.0?/?50);?? ????}?? ?????? ????if?(m_iLoadIdex?>=50)?{?? ????????unscheduleUpdate();?? ????}?? }?? ?? ?? ?? void?HelloWorld::loadResource(int?index)?? {?? ????CCLog("loading?....");?? ????switch?(index)?{?? ????????case?0:?? ????????????break;?? ????????default:?? ????????????sleep(1.0);?? ????????????break;?? ????}?? }?? ?? ?? void?HelloWorld::menuCloseCallback(CCObject*?pSender)?? {?? ????CCDirector::sharedDirector()->end();?? ?? #if?(CC_TARGET_PLATFORM?==?CC_PLATFORM_IOS)?? ????exit(0);?? #endif?? }??
東西太簡單,還需要上傳demo源碼么。要的留言
總結(jié)
以上是生活随笔為你收集整理的cocos2d-x游戏开发(十五)游戏加载动画loading界面的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。