axmol/samples/Cpp/TestCpp/Classes/DataVisitorTest/DataVisitorTest.cpp

87 lines
2.4 KiB
C++

#include "DataVisitorTest.h"
#include "../testResource.h"
std::string PrettyPrinterDemo::title()
{
return "PrettyPrinter Test";
}
std::string PrettyPrinterDemo::subtitle()
{
return "Please see log!";
}
void PrettyPrinterDemo::addSprite()
{
// create sprites
CCSprite *s1 = CCSprite::create("Images/grossini.png");
CCSprite *s2 = CCSprite::create("Images/grossini_dance_01.png");
CCSprite *s3 = CCSprite::create("Images/grossini_dance_02.png");
CCSprite *s4 = CCSprite::create("Images/grossini_dance_03.png");
CCSprite *s5 = CCSprite::create("Images/grossini_dance_04.png");
s1->setPosition(ccp(50, 50));
s2->setPosition(ccp(60, 50));
s3->setPosition(ccp(70, 50));
s4->setPosition(ccp(80, 50));
s5->setPosition(ccp(90, 50));
this->addChild(s1);
this->addChild(s2);
this->addChild(s3);
this->addChild(s4);
this->addChild(s5);
}
void PrettyPrinterDemo::onEnter()
{
CCLayer::onEnter();
CCSize s = CCDirector::sharedDirector()->getWinSize();
CCLabelTTF* label = CCLabelTTF::create(title().c_str(), "Arial", 28);
label->setPosition( ccp(s.width/2, s.height * 4/5) );
this->addChild(label, 1);
std::string strSubtitle = subtitle();
if(strSubtitle.empty() == false)
{
CCLabelTTF* subLabel = CCLabelTTF::create(strSubtitle.c_str(), "Thonburi", 16);
subLabel->setPosition( ccp(s.width/2, s.height * 3/5) );
this->addChild(subLabel, 1);
}
// Test code
CCPrettyPrinter vistor;
// print dictionary
CCDictionary* pDict = CCDictionary::createWithContentsOfFile("animations/animations.plist");
pDict->acceptVisitor(vistor);
CCLog("%s", vistor.getResult().c_str());
CCLog("-------------------------------");
CCSet myset;
for (int i = 0; i < 30; ++i) {
myset.addObject(CCString::createWithFormat("str: %d", i));
}
vistor.clear();
myset.acceptVisitor(vistor);
CCLog("%s", vistor.getResult().c_str());
CCLog("-------------------------------");
vistor.clear();
addSprite();
pDict = CCTextureCache::sharedTextureCache()->snapshotTextures();
pDict->acceptVisitor(vistor);
CCLog("%s", vistor.getResult().c_str());
}
void DataVisitorTestScene::runThisTest()
{
CCLayer *layer = new PrettyPrinterDemo();
layer->autorelease();
addChild(layer);
CCDirector::sharedDirector()->replaceScene(this);
}