- 安装包下载
- csdn免积分下载
http://www.ouyaoxiazai.com/soft/llrj/56/24209.html#dizhi
1)TexturePacker 3.3.2 for Windows x86破解
https://download.csdn.net/download/max_wzg/7264803
2)TexturePacker 3.1.2 for Mac破解
链接: https://pan.baidu.com/s/16VZ1BDvhWyvnY46KmYdFaw 密码: 6pw6 软件界面介绍:
Data Format:导出什么引擎数据,默认cocos2d,下拉列表中有很多,基本常用的引擎都支持了。
Data File :导出文件位置(后缀名.plist)。
Texture Format:纹理格式,默认png。
Image format:图片像素格式,默认RGBA8888…根据对图片质量的需求导出不同的格式。
Dithering:抖动,默认NearestNeighbour,(如果图像上面有许许多多的“条条”和颜色梯度变化)将其修改成FloydSteinberg+Alpha。Scale: 让你可以保存一个比原始图片尺寸要大一点、或者小一点的spritesheet。比如,如果你想在spritesheet中加载“@2x”的图片(也即为Retina-display设备或者ipad创建的)。但是你同时也想为不支持高清显示的iphone和touch制作spritesheet,这时候只需要设置scale为 1.0,同时勾选autoSD就可以了。也就是说,只需要美工提供高清显示的图片,用这个软件可以自己为你生成高清和普清的图片。
Algorithm TexturePacker:里面目前唯一支持的算法就是MaxRects,即按精灵尺寸大小排列,但是这个算法效果非常好,因此你不用管它。
Border/shape padding: 即在spritesheet里面,设置精灵与精灵之间的间隔。如果你在你的游戏当中看到精灵的旁边有一些“杂图”的时候,你就可以增加这个精灵之间的间隔。
Extrude: 精灵边界的重复像素个数. 这个与间隔是相对应的–如果你在你的精灵的边边上看到一些透明的小点点,你就可以通过把这个值设设置大一点。
Trim: 通过移除精灵四周的透明区域使之更好地放在spritesheet中去。不要担心,这些透明的区域仅仅是为了使spritesheet里面的精灵紧凑一点。–当你从cocos2d里面去读取这些精灵的时候,这些透明区域仍然在寻里。(因为,有些情况下,你可能需要这些信息来确定精灵的位置)。
Shape outlines: 把这个选项打开,那么就能看到精灵的边边。这在调试的时候非常有用。
AddSprite:添加图片Add Folder:根据文件夹添加图片。
Publish:导出资源文件(.plist和png)操作
1)选择要打包的图片文件夹,导入图片,图片列表会显示在右侧的sprites栏,文件夹中的图片更新,TexturePacker右侧的图片列表会自动更新。
2)指定png和对应plist的输出路径。
相关设置:
i)Geometry-Size constraints :
POT(Power of 2):导出的大图为大小是2的N次方的方形图;
Anysize:任何尺寸都可以,所以它导出的图的尺寸是最小的;
NPOT(Anysize but power of 2)与POT区别就是导出的图为矩形。
ii) Output-Image format:图片格式,比如RGBA8888,图片每一个像素点由R、G、B、A四个值组成,每个值占8位。
我们看软件的右下角显示的size,这就是合图加载到内存中会占用的内存大小:
若选择RGBA4444占用的内存大小会减少一半,这样会节省一倍内存,代价就是图片质量有损失,但由于算法存在这种损失是极小的。可以通过设置Dithering:抖动,默认NearestNeighbour,(如果图像上面有许许多多的“条条”和颜色梯度变化)将其修改成FloydSteinbergAlpha进行优化。
3)打包发布
打包成功后即可在之前设置的对应路径找到plist和png文件。
4)使用
在初始化时,将图片资源添加到SpriteFrameCache缓存中
SpriteFrameCache::getInstance()->addSpriteFramesWithFile("CommonTest.plist");
生成对应精灵
auto spriteTest = Sprite::createWithSpriteFrameName("WechatIMG12.png");
创建动画效果
auto animation = Animation::create();
animation->setDelayPerUnit(0.2f);
animation->addSpriteFrame(
SpriteFrameCache::getInstance()->getSpriteFrameByName(
"hero_blowup_n1.png"));
animation->addSpriteFrame(
SpriteFrameCache::getInstance()->getSpriteFrameByName(
"hero_blowup_n2.png"));
auto animate = Animate::create(animation);
以上。