2011-11-17 10:10:13 +08:00
|
|
|
// enable log
|
|
|
|
#define COCOS2D_DEBUG 1
|
|
|
|
|
|
|
|
#include "TextureCacheTest.h"
|
|
|
|
|
2012-06-14 05:19:13 +08:00
|
|
|
USING_NS_CC;
|
2011-11-21 12:04:21 +08:00
|
|
|
|
2011-11-17 10:10:13 +08:00
|
|
|
TextureCacheTest::TextureCacheTest()
|
2013-06-15 14:03:30 +08:00
|
|
|
: _numberOfSprites(20)
|
|
|
|
, _numberOfLoadedSprites(0)
|
2011-11-17 10:10:13 +08:00
|
|
|
{
|
2013-07-12 06:24:23 +08:00
|
|
|
Size size = Director::getInstance()->getWinSize();
|
2012-04-19 14:35:52 +08:00
|
|
|
|
2013-06-20 14:17:10 +08:00
|
|
|
_labelLoading = LabelTTF::create("loading...", "Arial", 15);
|
|
|
|
_labelPercent = LabelTTF::create("%0", "Arial", 15);
|
2012-04-19 14:35:52 +08:00
|
|
|
|
2013-07-12 14:11:55 +08:00
|
|
|
_labelLoading->setPosition(Point(size.width / 2, size.height / 2 - 20));
|
|
|
|
_labelPercent->setPosition(Point(size.width / 2, size.height / 2 + 20));
|
2012-04-19 14:35:52 +08:00
|
|
|
|
2013-06-15 14:03:30 +08:00
|
|
|
this->addChild(_labelLoading);
|
|
|
|
this->addChild(_labelPercent);
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
|
|
// load textrues
|
2013-07-12 06:24:23 +08:00
|
|
|
TextureCache::getInstance()->addImageAsync("Images/HelloWorld.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_01.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_02.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_03.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_04.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_05.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_06.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_07.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_08.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_09.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_10.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_11.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_12.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_13.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/grossini_dance_14.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/background1.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/background2.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/background3.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
|
|
|
TextureCache::getInstance()->addImageAsync("Images/blocks.png", this, callfuncO_selector(TextureCacheTest::loadingCallBack));
|
2011-11-17 10:10:13 +08:00
|
|
|
}
|
|
|
|
|
2013-06-20 14:17:10 +08:00
|
|
|
void TextureCacheTest::loadingCallBack(Object *obj)
|
2011-11-17 10:10:13 +08:00
|
|
|
{
|
2013-06-15 14:03:30 +08:00
|
|
|
++_numberOfLoadedSprites;
|
2012-04-19 14:35:52 +08:00
|
|
|
char tmp[10];
|
2013-06-15 14:03:30 +08:00
|
|
|
sprintf(tmp,"%%%d", (int)(((float)_numberOfLoadedSprites / _numberOfSprites) * 100));
|
|
|
|
_labelPercent->setString(tmp);
|
2012-04-19 14:35:52 +08:00
|
|
|
|
2013-06-15 14:03:30 +08:00
|
|
|
if (_numberOfLoadedSprites == _numberOfSprites)
|
2012-04-19 14:35:52 +08:00
|
|
|
{
|
2013-06-15 14:03:30 +08:00
|
|
|
this->removeChild(_labelLoading, true);
|
|
|
|
this->removeChild(_labelPercent, true);
|
2012-04-19 14:35:52 +08:00
|
|
|
addSprite();
|
|
|
|
}
|
2011-11-17 10:10:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
void TextureCacheTest::addSprite()
|
|
|
|
{
|
2013-07-12 06:24:23 +08:00
|
|
|
Size size = Director::getInstance()->getWinSize();
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
|
|
// create sprites
|
|
|
|
|
2013-06-20 14:17:10 +08:00
|
|
|
Sprite *bg = Sprite::create("Images/HelloWorld.png");
|
2013-07-12 14:11:55 +08:00
|
|
|
bg->setPosition(Point(size.width / 2, size.height / 2));
|
2012-04-19 14:35:52 +08:00
|
|
|
|
2013-06-20 14:17:10 +08:00
|
|
|
Sprite *s1 = Sprite::create("Images/grossini.png");
|
|
|
|
Sprite *s2 = Sprite::create("Images/grossini_dance_01.png");
|
|
|
|
Sprite *s3 = Sprite::create("Images/grossini_dance_02.png");
|
|
|
|
Sprite *s4 = Sprite::create("Images/grossini_dance_03.png");
|
|
|
|
Sprite *s5 = Sprite::create("Images/grossini_dance_04.png");
|
|
|
|
Sprite *s6 = Sprite::create("Images/grossini_dance_05.png");
|
|
|
|
Sprite *s7 = Sprite::create("Images/grossini_dance_06.png");
|
|
|
|
Sprite *s8 = Sprite::create("Images/grossini_dance_07.png");
|
|
|
|
Sprite *s9 = Sprite::create("Images/grossini_dance_08.png");
|
|
|
|
Sprite *s10 = Sprite::create("Images/grossini_dance_09.png");
|
|
|
|
Sprite *s11 = Sprite::create("Images/grossini_dance_10.png");
|
|
|
|
Sprite *s12 = Sprite::create("Images/grossini_dance_11.png");
|
|
|
|
Sprite *s13 = Sprite::create("Images/grossini_dance_12.png");
|
|
|
|
Sprite *s14 = Sprite::create("Images/grossini_dance_13.png");
|
|
|
|
Sprite *s15 = Sprite::create("Images/grossini_dance_14.png");
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
|
|
// just loading textures to slow down
|
2013-06-20 14:17:10 +08:00
|
|
|
Sprite::create("Images/background1.png");
|
|
|
|
Sprite::create("Images/background2.png");
|
|
|
|
Sprite::create("Images/background3.png");
|
|
|
|
Sprite::create("Images/blocks.png");
|
2012-04-19 14:35:52 +08:00
|
|
|
|
2013-07-12 14:11:55 +08:00
|
|
|
s1->setPosition(Point(50, 50));
|
|
|
|
s2->setPosition(Point(60, 50));
|
|
|
|
s3->setPosition(Point(70, 50));
|
|
|
|
s4->setPosition(Point(80, 50));
|
|
|
|
s5->setPosition(Point(90, 50));
|
|
|
|
s6->setPosition(Point(100, 50));
|
|
|
|
|
|
|
|
s7->setPosition(Point(50, 180));
|
|
|
|
s8->setPosition(Point(60, 180));
|
|
|
|
s9->setPosition(Point(70, 180));
|
|
|
|
s10->setPosition(Point(80, 180));
|
|
|
|
s11->setPosition(Point(90, 180));
|
|
|
|
s12->setPosition(Point(100, 180));
|
|
|
|
|
|
|
|
s13->setPosition(Point(50, 270));
|
|
|
|
s14->setPosition(Point(60, 270));
|
|
|
|
s15->setPosition(Point(70, 270));
|
2012-04-19 14:35:52 +08:00
|
|
|
|
|
|
|
this->addChild(bg);
|
2011-11-17 10:10:13 +08:00
|
|
|
|
2012-04-19 14:35:52 +08:00
|
|
|
this->addChild(s1);
|
2011-11-17 10:10:13 +08:00
|
|
|
this->addChild(s2);
|
2012-04-19 14:35:52 +08:00
|
|
|
this->addChild(s3);
|
|
|
|
this->addChild(s4);
|
|
|
|
this->addChild(s5);
|
|
|
|
this->addChild(s6);
|
|
|
|
this->addChild(s7);
|
|
|
|
this->addChild(s8);
|
|
|
|
this->addChild(s9);
|
2011-11-17 10:10:13 +08:00
|
|
|
this->addChild(s10);
|
2012-04-19 14:35:52 +08:00
|
|
|
this->addChild(s11);
|
|
|
|
this->addChild(s12);
|
|
|
|
this->addChild(s13);
|
|
|
|
this->addChild(s14);
|
|
|
|
this->addChild(s15);
|
2011-11-17 10:10:13 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void TextureCacheTestScene::runThisTest()
|
|
|
|
{
|
2013-07-23 08:25:44 +08:00
|
|
|
Layer* layer = new TextureCacheTest();
|
|
|
|
addChild(layer);
|
2011-11-17 10:10:13 +08:00
|
|
|
|
2013-07-12 06:24:23 +08:00
|
|
|
Director::getInstance()->replaceScene(this);
|
2013-07-23 08:25:44 +08:00
|
|
|
layer->release();
|
2011-11-17 10:10:13 +08:00
|
|
|
}
|