cocos2d-x3.2总结(二)使用TexturePacker工具创建和使用纹理图集

    游戏进行过程中通常需要加载多张图片。如果每次只加载一张,则需要加载多次,那么这样就需要很长的时间和比较多的内存。如果我们把需要加载的多张图片整合到一张图片,则需要加载一次,那么这样仅花费一次的时间。而且内存是一次分配不是多次分散分配,没有内存碎片,那么内存的使用也比较高效。

    通过以上的分析,我们很有必要把多张图片整合到一张图片中。TexturePacker就是这样的一个工具。Texturepacker工具的每个设置项都给出了相应的提示信息,使用起来非常简单,打包过后你会得到两个文件,其中一个是plist文件,它是图片信息的属性列表文件;另一个则是打包后的图片文件,可以是png,jpg,pvr.ccz等等格式。建议打包为pvr.ccz格式,因为使用这种图片格式的好处有两点:1、可以使你的应用程序更小,因为图片是被压缩过了的。2、你的游戏能够启动地更快。

    TexturePacker官方下载地址:http://www.codeandweb.com/texturepacker/download

    下载安装完后,如图1。

   cocos2d-x3.2总结(二)使用TexturePacker工具创建和使用纹理图集_第1张图片

    最左边参数的设置,最右边为图片的集合。

    TexturePacker可以逐一添加图片,也可以整个文件添加图片。其中工具栏上的Add Sprite是逐一添加,Add Folder是整个文件添加。

    添加完后,你可以在最左边设置参数,我们要Texture Format处设置成PVR。设置完参数后,点击工具栏的Publich

,选择好保存路径和文件名后即可生成xxx.plist和xxx.pvr。如下图2:

    图2:

    cocos2d-x3.2总结(二)使用TexturePacker工具创建和使用纹理图集_第2张图片

    现在,我们来看看test3.plist的内容。由于有点长,我就摘出关键的来说明。
   
cocos2d-x3.2总结(二)使用TexturePacker工具创建和使用纹理图集_第3张图片

   至于test3.pvr,它是经过压缩后的一种格式。

   现在,我们来看看test3.plist在cocos2d-x项目中的引用。首先,我们要把test3.plist和test3.pvr放在..\Resources文件下。

   首先我们要导入test3.plist,然后在创建精灵时,指明在test3.plist中小图片的名称。具体代码如代码1,效果如效果1。

   代码1:

         SpriteFrameCache::getInstance()->addSpriteFramesWithFile("test3.plist");
	Sprite* testSprite=Sprite::createWithSpriteFrameName("1.jpg");
	testSprite->setPosition(200,200);
	this->addChild(testSprite);
  效果1:

    当不需要此纹理图集,要释放它,如代码2。否则,出现一些奇怪的错误。

    代码2:

        SpriteFrameCache::getInstance()->removeSpriteFramesFromFile("test3.plist");//根据文件名字释放
	SpriteFrameCache::getInstance()->removeSpriteFrames();//全部释放
	SpriteFrameCache::getInstance()->removeSpriteFrameByName("xxx");//根据,名字释放
	SpriteFrameCache::getInstance()->removeSpriteFramesFromTexture(Texture2d* xxx)//根据纹理来释放
    如需转载,请标明出处。


你可能感兴趣的:(cocos2d-x3.2总结(二)使用TexturePacker工具创建和使用纹理图集)