Cocos2d-x 2.x简单动画CCAnimation使用指南

cocos2d-x 2.x 的动画系统里,CCAnimation算是个老朋友了,用起来挺顺手。你可以把它当成一个帧动画编辑器,通过堆几个CCSpriteFrame拼出动画序列,操作不复杂,效果还不错。

CCSpriteFrameCache是动画前的准备工,你先得把图片资源丢进去,这样后面才能顺利调出每一帧。再用一个数组装好每帧,设置下delayPerUnit(每帧的间隔时间),动画节奏就出来了。

比如你有 10 张图,每帧 0.1 秒,还想无限循环?直接这样:

CCSpriteFrameCache::sharedSpriteFrameCache()->addSpriteFramesWithFile("animation.plist");
CCArray* frames = CCArray::create();
for (int i = 1; i <= 10; ++i) {
  auto frame = CCSpriteFrameCache::sharedSpriteFrameCache()->getSpriteFrameByName("frame" + std::to_string(i) + ".png");
  frames->addObject(frame);
}
CCAnimation* animation = CCAnimation::createWithFrames(frames, 0.1f, -1);
CCAnimate* animateAction = CCAnimate::create(animation);
CCSprite* sprite = CCSprite::create("first_frame.png");
sprite->runAction(animateAction);

动画播完要不要跳回第一帧?可以设restoreOriginalFrame。如果你喜欢把动画和位移、缩放这些一起搞,那就搭配CCMoveByCCScaleBy这些动作,组合起来更带感。

CCAnimation挺适合做那种 2D 角色走路、攻击的帧动画,简单灵活,响应也快。如果你还在用 2.x 版本,那这个功能绝对是必学的。

zip 文件大小:12.71MB