CCSpriteFrame * CCNodeLoader::parsePropTypeSpriteFrame(CCNode * pNode, CCNode * pParent, CCBReader * pCCBReader, const char *pPropertyName)
{
CCString * spriteSheet = pCCBReader->readCachedString();
CCString * spriteFile = pCCBReader->readCachedString();
CCLog("%s",spriteFile->getCString());
CCSpriteFrame *spriteFrame = NULL;
if (spriteFile->length() != 0)
{
if (spriteSheet->length() == 0)
{
CCLog("addImage");
//
CCTexture2D * texture = CCTextureCache::sharedTextureCache()->addImage(spriteFile->getCString());
//
CCRect bounds = CCRectMake(0, 0, texture->getContentSize().width, texture->getContentSize().height);
//
spriteFrame = CCSpriteFrame::createWithTexture(texture, bounds);
//
}
else
{
CCLog("sharedSpriteFrameCache");
//
CCSpriteFrameCache * frameCache = CCSpriteFrameCache::sharedSpriteFrameCache();
// Load the sprite sheet only if it is not loaded
if (pCCBReader->getLoadedSpriteSheet().find(spriteSheet->getCString()) == pCCBReader->getLoadedSpriteSheet().end())
{
frameCache->addSpriteFramesWithFile(spriteSheet->getCString());
pCCBReader->getLoadedSpriteSheet().insert(spriteSheet->getCString());
}
spriteFrame = frameCache->spriteFrameByName(spriteFile->getCString());
//
}
//
if (pCCBReader->getAnimatedProperties()->find(pPropertyName) != pCCBReader->getAnimatedProperties()->end())
{
pCCBReader->getAnimationManager()->setBaseValue(spriteFrame, pNode, pPropertyName);
}
//
}
return spriteFrame;
}
{
CCString * spriteSheet = pCCBReader->readCachedString();
CCString * spriteFile = pCCBReader->readCachedString();
CCLog("%s",spriteFile->getCString());
CCSpriteFrame *spriteFrame = NULL;
if (spriteFile->length() != 0)
{
if (spriteSheet->length() == 0)
{
CCLog("addImage");
//
CCTexture2D * texture = CCTextureCache::sharedTextureCache()->addImage(spriteFile->getCString());
//
CCRect bounds = CCRectMake(0, 0, texture->getContentSize().width, texture->getContentSize().height);
//
spriteFrame = CCSpriteFrame::createWithTexture(texture, bounds);
//
}
else
{
CCLog("sharedSpriteFrameCache");
//
CCSpriteFrameCache * frameCache = CCSpriteFrameCache::sharedSpriteFrameCache();
// Load the sprite sheet only if it is not loaded
if (pCCBReader->getLoadedSpriteSheet().find(spriteSheet->getCString()) == pCCBReader->getLoadedSpriteSheet().end())
{
frameCache->addSpriteFramesWithFile(spriteSheet->getCString());
pCCBReader->getLoadedSpriteSheet().insert(spriteSheet->getCString());
}
spriteFrame = frameCache->spriteFrameByName(spriteFile->getCString());
//
}
//
if (pCCBReader->getAnimatedProperties()->find(pPropertyName) != pCCBReader->getAnimatedProperties()->end())
{
pCCBReader->getAnimationManager()->setBaseValue(spriteFrame, pNode, pPropertyName);
}
//
}
return spriteFrame;
}