cocos2d-x实战项目【飞机大战】-- 动画

这篇博客介绍了如何在编程中收集动画帧并创建动画。首先,通过SpriteFrameCache获取精灵帧,然后利用Animation将精灵帧组合成动画,并设置时间间隔。接着,通过Animate和RepeatForever实现动画的循环播放。最后,为防止动画被意外释放,使用了retain方法进行保留。
摘要由CSDN通过智能技术生成
//1、收集动画帧(精灵帧)
SpriteFrameCache* pCache = SpriteFrameCache::getInstance();

char szName[32] = {};    //精灵帧名称字符串

//2、通过Animation来收集动画信息
Animation* pStraightAnim = Animation::create();
for (int i = 0; i < 2; i++)   //第0张和第1张图片
{
	sprintf_s(szName, "Plane0_%d.png", i);   //sprintf_s 格式化
	SpriteFrame* pFrame = pCache->getSpriteFrameByName(szName);    //获取图片精灵帧,保存起来pFrame
	pStraightAnim->addSpriteFrame(pFrame);  //把精灵帧加入Animation
}

//3、设置时间间隔信息
pStraightAnim->setDelayPerUnit(0.5);
//4、把动画信息pAnimation传给Animate,创建动画
m_pStraight = Animate::create(pStraightAnim);  //播放一次
RepeatForever* pRepeat = RepeatForever::create(m_pStraight);  //循环播放
m_pPic->runAction(pRepeat);   //飞机调用runAction运行该重复动画

//为了防止从别的动画切换回直飞时,该动画被释放了,要retain(重要)
m_pStraight->retain();  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值