精灵动画的用法,及动画完成后的回调函数

void Player::flyAction()
{
Vector<SpriteFrame*> actionList;     //精灵帧的容器
///方法一
// SpriteFrame * frame1 = SpriteFrameCache::getInstance()->
// getSpriteFrameByName("hero_fly_1.png");
// SpriteFrame * frame2 = SpriteFrameCache::getInstance()->
// getSpriteFrameByName("hero_fly_2.png");
// actionList.pushBack(frame1);
// actionList.pushBack(frame2);
for (int i = 1; i < 3;i++)
{
/*方法二
char szName[100] = { 0 };
sprintf(szName, "hero_fly_%d.png", i);
SpriteFrame * frame = SpriteFrameCache::getInstance()->

getSpriteFrameByName(szName);*/



//方法三

SpriteFrame * frame = SpriteFrameCache::getInstance()->
getSpriteFrameByName(String::createWithFormat("hero_fly_%d.png",i)->getCString());
actionList.pushBack(frame);
}

 

///动作一
//0.3秒切换一次

auto animation = Animation::createWithSpriteFrames(actionList, 0.3f);


auto animate = Animate::create(animation);       //是一个action


auto repeat = RepeatForever::create(animate);


this->runAction(repeat);

 

 

//动画完成后的回调函数

 auto animation = Animation::createWithSpriteFrames(actionList, 0.3f);
 auto animate = Animate::create(animation);
 auto callfunc = CallFunc::create(this, callfunc_selector(Enemy::destory));
 auto sequence = Sequence::create(animate,callfunc,NULL);
 this->runAction(sequence);


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值