从sdcard加载CCSprite

时间:2013-09-26 04:38:00

标签: android ios cocos2d-x

我通常以这种方式加载与我的应用程序捆绑在一起的spritesheet:

CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile( "myspritesheet.plist");
CCSprite *pSprite = CCSprite::createWithSpriteFrame( CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("sprite_monster.png");
pSprite->setPosition(ccp(100.0f,100.0f));
this->addChild(pSprite);

然而,随着纹理数量的增长和容易更新,我计划将一些spritesheets放到服务器上并将其下载到SD卡(或iOS中的Cache文件夹)。但是,我没有看到在游戏中加载它的方法。

此链接显示如何加载png纹理。但是如果我将多个精灵打包到一个纹理中,我将需要加载.plist文件并将其提供给CCSpriteFrameCache。谁知道怎么做?或任何其他解决方案如何从具有多个精灵的纹理加载单个CCSprite?

提前致谢!

1 个答案:

答案 0 :(得分:0)

试试这段代码:

CCSpriteBatchNode *batchNode = CCSpriteBatchNode::create("myspritesheet.png");
this->addChild(batchNode);
CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("myspritesheet.plist");

CCSprite *pSprite = CCSprite::createWithSpriteFrameName("sprite_monster.png");
pSprite->setPosition(ccp(100.0f,100.0f));
this->addChild(pSprite);