动画animation
Animate是动作Action的子类,Animate由Animation创建,Animation通过addSpriteFrame将SpriteFrame添加,精灵帧SpriteFrame是每次播放的一帧。sprite用来运行动画
SpriteFrameCache::getInstance()->addSpriteFramesWithFile("hero.plist");
auto animation = Animation::create();
animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("hero1.png"));
animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("hero2.png"));
animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("hero3.png"));
animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("hero4.png"));
animation->addSpriteFrame(SpriteFrameCache::getInstance()->getSpriteFrameByName("hero5.png"));
//设置两帧之间的播放时间
animation->setDelayPerUnit(0.5f);
//动画加载完成是否还原到初始状态
animation->setRestoreOriginalFrame(true);
auto animate = Animate::create(animation);
auto sprite = Sprite::createWithSpriteFrameName("hero1.png");
sprite->setPosition(visibleSize.width/2,visibleSize.height/2);
addChild(sprite);
sprite->runAction(RepeatForever::create(animate));