Cocos2d-X 学习笔记 11 制作Loading视图
2014-10-16 14:51
323 查看
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%","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);
}
相关文章推荐
- cocos2d-x学习笔记(11)--坐标系
- 【Cocos2d-html5游戏引擎学习笔记(11)】运动中速度效果
- PostgreSQL数据库日常学习笔记11-视图
- cocos2d-x学习笔记(11)回调CallFunc,lambda
- cocos2d学习笔记第二章 贴图集的制作及使用
- 【吼吼睡cocos2d学习笔记】第五章 - loading场景以及其他
- cocos2d-x SimpleGame制作三部曲 -- 学习笔记
- Cocos2d-x学习笔记(14)(更新函数scheduleUpdate、进度计时器CCProgressTo、滚动视图CCScrollView)
- Cocos2d-x学习笔记(11)(CCEditBox编辑框)
- 【吼吼睡cocos2d学习笔记】第五章 - loading场景以及其他
- Cocos2d-X 学习笔记2 普通视图和45度角地图获得对应位置图素
- 【Cocos2d-x3.0学习笔记 11】Schedule的使用01
- Oracle 学习笔记 11 -- 视图 (VIEW)
- 如何用python制作一个锻炼计算能力的exe小程序-学习笔记11-pyinstaller
- SQL学习笔记11——视图查询
- Cocos2d-x学习笔记(14)(更新函数scheduleUpdate、进度计时器CCProgressTo、滚动视图CCScrollView)
- MySQL学习笔记(11)之视图(view)
- Oracle 学习笔记 11 -- 视图 (VIEW)
- cocos2d-x学习笔记11:xcode下编译运行helloworld