1

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

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 放置到服务器并将其下载到 sdcard(或 iOS 中的 Cache 文件夹)。但是,我看不到在游戏中加载它的方法。

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

提前致谢!

4

1 回答 1

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);
于 2014-01-06T10:00:45.040 回答