图片打包的应用

通过SpriteBatchNode可以实现多张图片的绘制仅需一次绘制,从而提高帧率,而这的前提条件是是多个图片拥有同一个纹理,而在实际中,我们会用多多个不同的图片;

那么这时候我们就需要想办法了,没错,就是打包多张图片成一张图片,那么就只有一个纹理了;

至于打包的工具,比如:TexturePacker,打包之后会生成 plist及png文件

如:girls.png,girls.plist

然后我们通过以下代码实现sprite的加载:

    SpriteFrameCache* cache = SpriteFrameCache::getInstance();
    cache->addSpriteFramesWithFile("girls.plist", "girls.png");
    
    Sprite* sprite = Sprite::createWithSpriteFrameName("sprite1.png");
    sprite->setPosition(Point(100,120));
    this->addChild(sprite);
    
    Sprite* sprite2 = Sprite::createWithSpriteFrameName("sprite3.png");
    sprite2->setPosition(Point(260,120));
    this->addChild(sprite2);

  这里面的Sprite加载的图片名称则是打包之前的图片名称,具体的可以查看一下plist文件确认一下。

posted @ 2015-12-10 21:28  沙影无痕  阅读(195)  评论(0编辑  收藏  举报