TexturePacker使用方法及免费申请方法(附带cocos2d中帧动画使用和plist文件解析)

本文介绍了TexturePacker作为纹理处理工具的使用方法,包括如何组合小图生成大图和plist文件。强调了免费版的限制,提供了免费注册序列号申请的链接。在cocos2d中使用生成的资源,通过添加SpriteFrames到缓存、创建帧动画等步骤来实现帧动画的播放。同时,解释了plist文件作为XML配置文件存储帧的位置和大小信息的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

TexturePacker是目前相当流行的图片纹理处理工具,它可以将小图组成大图,并生成相应的plist文件,

//下面是TexturePacker的界面


你可以将多个图片放入,组成一个大图导出,由于我这里没有连续的帧图片就不为大家演示过程了,不过这个很简单,稍微尝试下就懂了,实在不懂上百度搜一下就好,

这里需要中重点说明的是,这个软件是需要付费的,如果使用免费模式或者使用破解版。则会产生这样一个问题,有一帧图片是红色的,不能使用,如下图

这个图片我随意找了两张图合成,一个大图,一个连续的小图,是下面这两张图片

大家可以看到,大图变成了红色,这个就是免费模式的结果,但是也不是完全没有办法,TexturePacker作者给了我们免费申请注册序列的机会,链接在下面,只要正常填写就可以申请。

http://www.codeandweb.com/request-free-license



----------------------------------------------------------------------------------------------------分割线--------------------------------------------------------------------------------------------------------------------------

最后再讲一下怎么使用生成的plist文件

在cocos2d中代码如下。

将生成的大图和plist文件放入对应工程下的resource\res\文件夹下面,然后工程中使用以下代码(这个不是唯一的使用方法,但个人觉得,下面的代码使用起来比较好用)

SpriteFrameCache::getInstance()->addSpriteFramesWithFile("xxx.plist");//提前将图片信息放入缓存中,
 auto sp=Sprite::create("xxx.png");//这个是启动动画的图片,一般是帧动画第一个图片
 Vector<SpriteFrame*> frames;//创建一个SpriteFrame*的向量,便于下面储存,注意这里的向量是Cocos2d自带的向量类型,不是stl的,
  
for (int i = 0; i < 10;i++) {
   
String *framename = String::createWithFormat("%d.png",i);//将每帧的图片名字创建出来
   
SpriteFrame *frame = SpriteFrameCache::getInstance()->getSpriteFrameByName(framename->getCString());//通过帧图片名字获取帧图片
   
frames.pushBack(frame);//将帧图片加入向量
  
}
  
Animation *an = Animation::createWithSpriteFrames(frames,1.0f/10.0f);//设置相应参数
  
sp->runAction(Animate::create(an));//精灵运行动画

//以上就是帧动画运行的过程。

----------------------------------------------------------------至于plist文件-----------------------------------------------------------------------------------------------------------------------

plist文件其实就是xml文件,他是一种比较短小的配置文件,储存了每帧图片在大图中的位置和大小信息,如下图。

红色底线就是每帧图片的名字,大小和位置信息等等。。。。大家如果想深入了解xml可以去学习下tinyxml的使用,,

就讲到这里,祝大家开发愉快

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值