我通常以这种方式加载与我的应用程序捆绑在一起的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?
提前致谢!
答案 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);