【问题标题】:load CCSprite from sdcard从 sdcard 加载 CCSprite
【发布时间】:2013-10-01 21:43:57
【问题描述】:

我通常以这种方式加载与我的应用程序捆绑在一起的 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 放置到服务器并将其下载到 sdcard(或 iOS 中的 Cache 文件夹)。但是,我看不到在游戏中加载它的方法。

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

提前致谢!

【问题讨论】:

    标签: android ios cocos2d-x


    【解决方案1】:

    试试这个代码:

    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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-30
      • 1970-01-01
      相关资源
      最近更新 更多