加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Cocos2d-X 学习笔记 11 制作Loading视图

发布时间:2020-12-14 19:07:04 所属栏目:百科 来源:网络整理
导读:void MyScene::menuChangeCallback(CCObject* pSender) { //初始化Loading界面 CCMenu *menu=(CCMenu *)getChildByTag(1); menu-setVisible(false); CCSize size=CCDirector::sharedDirector()-getWinSize(); labelLoading=CCLabelTTF::create("loading...",
void MyScene::menuChangeCallback(CCObject* pSender)

{

//初始化Loading界面

CCMenu *menu=(CCMenu *)getChildByTag(1); menu->setVisible(false); CCSize size=CCDirector::sharedDirector()->getWinSize(); labelLoading=CCLabelTTF::create("loading...","Arial",20); labelPercent=CCLabelTTF::create("0%",20); labelLoading->setPosition(ccp(size.width/2,size.height/2)); labelPercent->setPosition(ccp(size.width/2,size.height*0.3)); this->addChild(labelLoading); this->addChild(labelPercent); numberofSprites=200; numberofLoadedSprites=0; CCSprite *loadBg=CCSprite::create("sliderTrack.png"); loadBg->setPosition(ccp(size.width/2,size.height*0.2)); this->addChild(loadBg); loadProgress=CCProgressTimer::create(CCSprite::create("sliderProgress.png")); loadProgress->setBarChangeRate(ccp(1,0)); loadProgress->setType(kCCProgressTimerTypeBar); loadProgress->setMidpoint(ccp(0,0)); loadProgress->setPosition(ccp(size.width/2,size.height*0.2)); this->addChild(loadProgress,1); for(int i=0;i<100;i++) { CCTextureCache::sharedTextureCache()->addImageAsync("HelloWorld.png",this,callfuncO_selector(MyScene::loadingCallBack)); CCTextureCache::sharedTextureCache()->addImageAsync("icon.png",callfuncO_selector(MyScene::loadingCallBack)); } } //更新界面 void MyScene::loadingCallBack(CCObject* pSender) { numberofLoadedSprites++; char tmp[10]; float value=((float)numberofLoadedSprites/numberofSprites)*100; sprintf(tmp,"%d%%",(int)(value)); labelPercent->setString(tmp); loadProgress->setPercentage(value); if(numberofLoadedSprites==numberofSprites) { turnToScene(); } } //加载完成后需要做的事 void MyScene::turnToScene() { CCScene *sence=HelloWorld::scene(); CCDirector::sharedDirector()->replaceScene(sence); }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读