Cocos2d-X 学习笔记 11 制作Loading视图
来源:互联网 发布:淘宝买家秀福利百度云 编辑:程序博客网 时间:2024/06/18 17:47
void MyScene::menuChangeCallback(CCObject* pSender)
menu->setVisible(false);
CCSize size=CCDirector::sharedDirector()->getWinSize();
labelLoading=CCLabelTTF::create("loading...","Arial",20);
labelPercent=CCLabelTTF::create("0%","Arial",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",this,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);
}
{
//初始化Loading界面
CCMenu *menu=(CCMenu *)getChildByTag(1);menu->setVisible(false);
CCSize size=CCDirector::sharedDirector()->getWinSize();
labelLoading=CCLabelTTF::create("loading...","Arial",20);
labelPercent=CCLabelTTF::create("0%","Arial",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",this,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);
}
0 0
- Cocos2d-X 学习笔记 11 制作Loading视图
- Cocos2d-x 学习笔记
- Cocos2d-x学习笔记
- Cocos2d-x学习笔记
- Cocos2d-x学习笔记
- cocos2d-x学习笔记
- cocos2d-x学习笔记
- cocos2d-x 学习笔记
- cocos2d-x 学习笔记
- cocos2d-x学习笔记
- Cocos2d-x 学习笔记
- Cocos2d-x 学习笔记
- cocos2d-x学习笔记
- cocos2d-x学习笔记
- cocos2d-x学习笔记
- cocos2d-x学习笔记!
- cocos2d-x学习笔记
- cocos2d-x 学习笔记
- 数据库增删改查(利用重定向和转发实现页面的跳转)
- 2进制转10进制
- 养肺秘方
- input子系统五之事件类型编码介绍
- 多分段函数求值1——用if语句编
- Cocos2d-X 学习笔记 11 制作Loading视图
- 第8周项目3多分段函数求值(3)switch语句之t=x/2
- USB架构概述之一USB系统描述
- 将博客搬至CSDN
- mysql主从服务器的搭建
- 经典错误, Python小数比较
- DES 加密解密
- 第8周项目2-加班费,要不要
- Quick-Cocos2d-x 使用tolua工具导出C++的类给Lua调用