cocos2d-x使用TexturePacker打包图片及使用生成的plist文件创建精灵动画

本文介绍了如何使用TexturePacker工具打包cocos2d-x动画的图片,并利用生成的plist文件创建精灵动画。首先,对动画帧图片进行命名,接着在TexturePacker中导入图片,调整设置后导出plist和png文件。试用版工具可能在图片上添加文字和改变颜色,购买激活版可避免此问题。

在使用TexturePacker打包工具之前先对动画的每一帧图片命名,我这里选取的cocos2d-x实例程序里面的图片,为了方便只提取了前面4帧的图片

然后打开安装好的TexturePakcer,该工具的官方下载地址,该工具需要购买激活,我这里是选择的试用。打开后点击Add Sprites然后选择需要添加的图片文件,至于该工具里面的各种调整这里不做过多的解释,最后点击Publish保存生成好的plist文件以及打包后的png图片。

打包后生成的文件如下,因为是选择的试用,生成的图片上会有奇怪的文字以及颜色发生改变,如果使用购买激活后的就不会这样...

打包工作就OK了,然后就是使用生成的plist文件创建精灵动画

        // 载入打包生成的plist文件
	CCSpriteFrameCache *cache=CCSpriteFrameCache::sharedSpriteFrameCache();
	cache->addSpriteFramesWithFile("grossini_dance_all.plist","grossini_dance_all.png");
	//数组长度初始化为4,根据动画的总帧数初始化
	CCArray *splitAniframe = CCArray::createWithCapacity(4);
	CCSpriteFrame *frame;
	char *frameNameChar = new char[20];
	for(int i = 1;i<= 4;i++)
	{
		//下面的名字为打包前的每张图片的名字,加载plist文件很方便的一点就是可以根据打包前的图片名字直接访问到该图片
		sprintf(frameNameChar, "grossini_dance_%d.png",i);  
		frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(frameNameChar);
		splitAniframe->addObject(frame);
	}
	//根据帧序列创建动画(第二个参数为每帧之间的间隔时长)
	CCAnimation *splitAnimation=CCAnimation::createWithSpriteFrames(splitAniframe,0.2f);
	//根据动画创建动画动作
	CCAnimate *splitAnimate=CCAnimate::create(splitAnimation);
	CCSprite *testSprite = CCSprite::create(); 
	//让精灵执行该动画动作,并且是无限循环
	testSprite->runAction(CCRepeatForever::create(splitAnimate));
	testSprite->setPosition(ccp(200,200));
	addChild(testSprite);

精灵动画执行效果(下面只是动画的一个截图)



评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值