本文整理汇总了C++中CCAnimation::setLoops方法的典型用法代码示例。如果您正苦于以下问题:C++ CCAnimation::setLoops方法的具体用法?C++ CCAnimation::setLoops怎么用?C++ CCAnimation::setLoops使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CCAnimation
的用法示例。
在下文中一共展示了CCAnimation::setLoops方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: IronManPreAttack
void ASFightLayer::IronManPreAttack(){
if(!MainUser->muted)
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("ironmanattack.mp3");
//1.英雄身上闪光
CCActionInterval* flash = CCTintBy::create(0.2, -3, -198, -213);
CCDelayTime* delay = CCDelayTime::create(0.1);
CCActionInterval* flash1 = CCTintBy::create(0.2, 3, 198, 213);
CCSequence* seq = CCSequence::create(flash,delay,flash1,NULL);
CCRepeatForever* effect = CCRepeatForever::create(seq);
MainHero->runAction(effect);
//2.蓄力动画
blade = CCSprite::createWithSpriteFrameName("IronMan_hit_0.png");
blade->setOpacity(100);
blade->setPosition(ccp(size.width*19/50,winSize.height*9.8/20));
addChild(blade,3);
CCAnimation* pAnimation = CCAnimation::create();
for (int i = 0 ; i < 4; i++) {
string texName = "IronMan_hit_" + int2string(i) + ".png";
CCSpriteFrame* frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(texName.c_str());
pAnimation->addSpriteFrame(frame);
}
pAnimation->setDelayPerUnit(0.1);
pAnimation->setRestoreOriginalFrame(true);
pAnimation->setLoops(-1);
CCAnimate* pAnimate = CCAnimate::create(pAnimation);
blade->runAction(pAnimate);
}
示例2: AttackAnimation
//攻击动画
void Monster::AttackAnimation(const char *name_each,const unsigned int num,bool run_directon)
{
//正在走动、攻击、受伤或已死亡,就返回
if(IsRunning||IsAttack||IsHurt||Isdead)
return;
CCAnimation* animation = CCAnimation::create();
for( int i=1;i<=num;i++)
{
char szName[100] = {0};
sprintf(szName,"%s%d.png",name_each,i);
animation->addSpriteFrameWithFileName(szName); //加载动画的帧
}
animation->setDelayPerUnit(0.1f);
animation->setRestoreOriginalFrame(true);
animation->setLoops(1); //动画循环1次
//将动画包装成一个动作
CCAnimate* act=CCAnimate::create(animation);
//创建回调动作,攻击结束后调用AttackEnd()
CCCallFunc* callFunc=CCCallFunc::create(this,callfunc_selector(Monster::AttackEnd));
//创建连续动作
CCActionInterval* attackact=CCSequence::create(act,callFunc,NULL);
m_MonsterSprite->runAction(attackact);
IsAttack=true;
}
示例3: SetAnimation
//怪物走动的动画
void Monster::SetAnimation(const char *name_each,unsigned int num,bool run_directon)
{
//设置方向
if(MonsterDirecton!=run_directon)
{ MonsterDirecton=run_directon;
m_MonsterSprite->setFlipX(run_directon);
}
//正在走动、攻击、受伤或已死亡,就返回
if(IsRunning||IsAttack||IsHurt||Isdead)
return;
//设置动画
CCAnimation* animation = CCAnimation::create();
for( int i=1;i<=num;i++)
{
char szName[100] = {0};
sprintf(szName,"%s%d.png",name_each,i);
animation->addSpriteFrameWithFileName(szName); //加载动画的帧
}
animation->setDelayPerUnit(0.1f);//每两张图片的时间间隔
animation->setRestoreOriginalFrame(true);
animation->setLoops(-1); //动画循环
//将动画包装成一个动作
CCAnimate* act=CCAnimate::create(animation);
m_MonsterSprite->runAction(act);
IsRunning=true;
}
示例4: addSubFormWithSpriteFrameNameAndKey
void RCUnit::addSubFormWithSpriteFrameNameAndKey(const char *frameName, AnimationParam *animationParam, const char *key)
{
//add sprite
if (!animationParam) {
return;
}
CCAnimation *animation = CCAnimationCache::sharedAnimationCache()->animationByName(key);
if (animation == NULL) {
animation = CCAnimation::create();
for (int i=1; i <= animationParam->count; i++) {
CCString *realFrameName = CCString::createWithFormat("%s%.02i.png",animationParam->frameName.c_str(),i);
CCSpriteFrame *frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(realFrameName->getCString());
animation->addSpriteFrame(frame);
}
animation->setDelayPerUnit(animationParam->interval);
animation->setLoops(animationParam->loops);
animation->setRestoreOriginalFrame(animationParam->restoreFirstFrame);
CCAnimationCache::sharedAnimationCache()->addAnimation(animation, key);
}
m_dictionary->setObject(animation, key);
}
示例5: botisGangLied
void ASBot::botisGangLied(){
CCSprite* ani = CCSprite::createWithSpriteFrameName("Miku_GL_0.png");
ani->setRotation(-90);
ani->setScale(2);
ani->setPosition(ccp(size.width*5/40,size.height*80.3/90+winDif*2*alpha*alpha));
player1->addChild(ani,100);
CCAnimation* pAnimation = CCAnimation::create();
for (int i = 0 ; i < 16; i++) {
string texName = "Miku_GL_" + int2string(i) + ".png";
CCSpriteFrame* frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(texName.c_str());
pAnimation->addSpriteFrame(frame);
}
pAnimation->setDelayPerUnit(0.1);
pAnimation->setRestoreOriginalFrame(true);
pAnimation->setLoops(1);
CCAnimate* pAnimate = CCAnimate::create(pAnimation);
CCActionInterval* attack = CCMoveBy::create(1.8, ccp(size.width*30/40,0));
CCActionInterval* effect = CCSpawn::create(pAnimate,attack,NULL);
CCCallFunc* remove = CCCallFuncN::create(player1, callfuncN_selector(ASGame::removeSprite));
CCCallFunc* add = CCCallFuncN::create(this, callfuncN_selector(ASBot::botMinusHpByGangLie));
CCSequence* seq = CCSequence::create(effect,remove,add,NULL);
ani->runAction(seq);
}
示例6: showOpenBoxAni
void IOSStoreLayer::showOpenBoxAni(CCNode* pNode)
{
//播放打开动画
CCSprite* pBox = (CCSprite*)pNode;
CCAnimation* pAnimation = CCAnimation::create();
char filename[64] = {};
for (size_t i = 0; i < 2; ++i)
{
sprintf(filename, "daoju_baoxiang%d.png", i+2);
pAnimation->addSpriteFrameWithFileName(ResManager::getManager()->getSharedFilePath(g_storelayerPath+filename).c_str());
}
pAnimation->setDelayPerUnit(0.05f);
pAnimation->setLoops(1);
pBox->runAction(CCSequence::create(
CCAnimate::create(pAnimation),
CCDelayTime::create(0.15f),
CCCallFuncN::create(this, callfuncN_selector(IOSStoreLayer::boxStartMove)),
NULL));
pBox->runAction(CCSequence::create(
CCDelayTime::create(0.05f),
CCCallFuncN::create(this, callfuncN_selector(IOSStoreLayer::showRandStars)),
NULL));
// //出现大的星星
// CCSprite* pBigStar = CCSprite::create("daoju_baoxiang_xiaoguo_2.png");
// pBox->addChild(pBigStar, 1, box_big_star_tag);
// pBigStar->setPosition(ccp(pBox->getContentSize().width/2 - 20, pBox->getContentSize().height/2));
// pBigStar->setScale(0.1f);
// pBigStar->runAction(CCSequence::create(
// CCScaleTo::create(0.2f, 1.0f),
// CCRemoveSelf::create(),
// NULL));
}
示例7: init
bool GridNode::init() {
bool bRet = false;
do {
CCNode::init();
this->setContentSize(CCSize(GRID_WIDTH, GRID_HEIGHT));
m_gridSprite = CCSprite::create();
m_gridSprite->setAnchorPoint(CCPoint(0.5, 0.5));
m_gridSprite->setPosition(CCPoint(GRID_WIDTH / 2, GRID_HEIGHT / 2));
this->addChild(m_gridSprite, 10);
m_animSprite = CCSprite::create();
m_animSprite->setAnchorPoint(CCPoint(0.5, 0.5));
m_animSprite->setPosition(CCPoint(GRID_WIDTH / 2, GRID_HEIGHT / 2));
m_animSprite->setVisible(false);
this->addChild(m_animSprite, 0);
CCAnimation* selectAnimatoin = CCAnimation::create();
CCString* frame;
for (int i = 0; i < 5; i++) {
frame = CCString::createWithFormat("select_frame_%d.png", i);
selectAnimatoin->addSpriteFrame(CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(frame->getCString()));
}
selectAnimatoin->setDelayPerUnit(0.5f / 5.0f);
selectAnimatoin->setLoops(true);
m_selectAnimate = CCRepeatForever::create(CCAnimate::create(selectAnimatoin));
m_selectAnimate->setTag(SELECT_ACTION_TAG);
m_selectAnimate->retain();
bRet = true;
} while (0);
return bRet;
}
示例8: SheldonPreAttackCritical
void ASFightLayer::SheldonPreAttackCritical(){
//1.英雄身上闪光
CCActionInterval* flash = CCTintBy::create(0.2, -3, -198, -213);
CCDelayTime* delay = CCDelayTime::create(0.1);
CCActionInterval* flash1 = CCTintBy::create(0.2, 3, 198, 213);
CCSequence* seq = CCSequence::create(flash,delay,flash1,NULL);
CCRepeatForever* effect = CCRepeatForever::create(seq);
MainHero->runAction(effect);
//2.蓄力动画
blade = CCSprite::createWithSpriteFrameName("Sheldon_0_0.png");
blade->setScaleY(2.5);
blade->setScaleX(-2.5);
blade->setPosition(ccp(size.width*50/50,winSize.height*45/70));
addChild(blade,3);
CCAnimation* pAnimation = CCAnimation::create();
for (int i = 0 ; i < 17; i++) {
string texName = "Sheldon_0_" + int2string(i) + ".png";
CCSpriteFrame* frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(texName.c_str());
pAnimation->addSpriteFrame(frame);
}
pAnimation->setDelayPerUnit(0.14);
pAnimation->setRestoreOriginalFrame(true);
pAnimation->setLoops(-1);
CCAnimate* pAnimate = CCAnimate::create(pAnimation);
blade->runAction(pAnimate);
}
示例9: SheldonSecondPeriodCritical
void ASFightLayer::SheldonSecondPeriodCritical(){
//1.击中特效
CCSprite* hitEffect = CCSprite::createWithSpriteFrameName("Sheldon_C2_0.png");
hitEffect->setScale(2);
hitEffect->setPosition(ccp(size.width*2/3,winSize.height/2));
addChild(hitEffect,4);
CCAnimation* pAnimation = CCAnimation::create();
for (int i = 0 ; i < 24; i++) {
string texName = "Sheldon_C2_" + int2string(i) + ".png";
CCSpriteFrame* frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(texName.c_str());
pAnimation->addSpriteFrame(frame);
}
pAnimation->setDelayPerUnit(0.1);
pAnimation->setRestoreOriginalFrame(true);
pAnimation->setLoops(1);
CCAnimate* pAnimate = CCAnimate::create(pAnimation);
CCCallFunc* remove = CCCallFuncN::create(this, callfuncN_selector(ASFightLayer::removeThis));
CCSequence* effect1 = CCSequence::create(pAnimate,remove,NULL);
CCDelayTime* delay = CCDelayTime::create(1.5);
CCCallFunc* hit = CCCallFuncN::create(this, callfuncN_selector(ASFightLayer::SheldonSecondHitEnemy));
CCSequence* effect2= CCSequence::create(delay,hit,NULL);
CCActionInterval* effect3 = CCSpawn::create(effect1,effect2,NULL);
hitEffect->runAction(effect3);
}
示例10: BladeMasterPreAttack
void ASBotFightLayer::BladeMasterPreAttack(){
CocosDenshion::SimpleAudioEngine::sharedEngine()->playEffect("bmattack.mp3", false);
//1.英雄身上闪光
CCActionInterval* flash = CCTintBy::create(0.2, -3, -198, -213);
CCDelayTime* delay = CCDelayTime::create(0.1);
CCActionInterval* flash1 = CCTintBy::create(0.2, 3, 198, 213);
CCSequence* seq = CCSequence::create(flash,delay,flash1,NULL);
CCRepeatForever* effect = CCRepeatForever::create(seq);
MainHero->runAction(effect);
//2.蓄力动画
blade = CCSprite::createWithSpriteFrameName("Blade_0_0.png");
blade->setRotation(-90);
blade->setScaleY(2);
blade->setScaleX(-1.2);
blade->setOpacity(100);
blade->setPosition(ccp(size.width*21/50,winSize.height/2));
addChild(blade,3);
CCAnimation* pAnimation = CCAnimation::create();
for (int i = 0 ; i < 6; i++) {
string texName = "Blade_0_" + int2string(i) + ".png";
CCSpriteFrame* frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(texName.c_str());
pAnimation->addSpriteFrame(frame);
}
pAnimation->setDelayPerUnit(0.1);
pAnimation->setRestoreOriginalFrame(true);
pAnimation->setLoops(-1);
CCAnimate* pAnimate = CCAnimate::create(pAnimation);
blade->runAction(pAnimate);
}
示例11: SwordFall
void ASBotFightLayer::SwordFall(){
sword = CCSprite::createWithSpriteFrameName("LichKing_C3_0.png");
sword->setScaleX(-7);
sword->setScaleY(7);
sword->setPosition(ccp(size.width*3/7, winSize.height*6/7));
addChild(sword,2);
CCAnimation* pAnimation = CCAnimation::create();
for (int i = 0 ; i < 24; i++) {
string texName = "LichKing_C3_" + int2string(i) + ".png";
CCSpriteFrame* frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(texName.c_str());
pAnimation->addSpriteFrame(frame);
}
pAnimation->setDelayPerUnit(0.14);
pAnimation->setRestoreOriginalFrame(true);
pAnimation->setLoops(-1);
CCAnimate* pAnimate = CCAnimate::create(pAnimation);
CCDelayTime* delay = CCDelayTime::create(2);
CCActionInterval* moveDown = CCMoveBy::create(0.5, ccp(0, -winSize.height*11/20));
CCSequence* effect1 = CCSequence::create(delay,moveDown,NULL);
CCDelayTime* delay1 = CCDelayTime::create(2.3);
CCCallFunc* hit = CCCallFuncN::create(this, callfuncN_selector(ASBotFightLayer::LichKingBigAttack));
CCSequence* effect2 = CCSequence::create(delay1,hit,NULL);
CCActionInterval* effect3 = CCSpawn::create(pAnimate,effect1,effect2,NULL);
sword->runAction(effect3);
}
示例12: LichKingHitEnemy
void ASBotFightLayer::LichKingHitEnemy(){
//1.移除技能粒子的飞行特效
removeChild(skillEffect_fly);
removeChild(blade);
//2.击中特效
CCSprite* hitEffect = CCSprite::createWithSpriteFrameName("LichKing_hit_0.png");
hitEffect->setScale(-3);
hitEffect->setOpacity(200);
hitEffect->setPosition(ccp(size.width*20/50,winSize.height/2));
addChild(hitEffect,4);
CCAnimation* pAnimation = CCAnimation::create();
for (int i = 0 ; i < 10; i++) {
string texName = "LichKing_hit_" + int2string(i) + ".png";
CCSpriteFrame* frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(texName.c_str());
pAnimation->addSpriteFrame(frame);
}
pAnimation->setDelayPerUnit(0.1);
pAnimation->setRestoreOriginalFrame(true);
pAnimation->setLoops(1);
CCAnimate* pAnimate = CCAnimate::create(pAnimation);
CCCallFunc* remove = CCCallFuncN::create(this, callfuncN_selector(ASBotFightLayer::removeThis));
CCSequence* seqqq = CCSequence::create(pAnimate,remove,NULL);
hitEffect->runAction(seqqq);
//3.英雄被击中后的动作
CCActionInterval* shake1 = CCRotateTo::create(0.15, 30);
CCActionInterval* shake2 = CCRotateTo::create(0.15, 0);
CCActionInterval* shake3 = CCRotateTo::create(0.15, -30);
CCActionInterval* shake4 = CCRotateTo::create(0.15, 0);
CCSequence* seq = CCSequence::create(shake1,shake2,shake3,shake4,NULL);
BotHero->runAction(seq);
//4.减血提示
string damageStr = "-" + int2string(damage) + "\n" + "答错遭受额外伤害!";
minusHP = CCLabelTTF::create(damageStr.c_str(), "Arial", 62.5);
minusHP->setPosition(ccp(size.width*22/70, winSize.height*5.5/7));
minusHP->setRotation(-20);
addChild(minusHP,5);
CCActionInterval* scaleDown = CCScaleTo::create(0.3,1);
CCActionInterval* fadeOut = CCFadeOut::create(2);
CCCallFunc* back = CCCallFuncN::create(this, callfuncN_selector(ASBotFightLayer::backToMainGame));
CCSequence* seq1 = CCSequence::create(scaleDown,fadeOut,back,NULL);
minusHP->runAction(seq1);
CCActionInterval* flash = CCTintBy::create(0.2, -255, -91, -220);
CCDelayTime* delay = CCDelayTime::create(0.1);
CCActionInterval* flash1 = CCTintBy::create(0.2, 255, 91, 220);
CCSequence* seq321 = CCSequence::create(flash,delay,flash1,NULL);
CCRepeatForever* effect = CCRepeatForever::create(seq321);
BotHero->runAction(effect);
}
示例13: Change
//换图片
void keyedit::Change()
{
CCAnimation* animation = CCAnimation::create();
animation->addSpriteFrameWithFileName("key2.png");
animation->setDelayPerUnit(2.8f / 14.0f);//必须设置否则不会动态播放
animation->setRestoreOriginalFrame(false);//是否回到第一帧
animation->setLoops(1);//重复次数 (-1:无限循环)
CCFiniteTimeAction * animate = CCAnimate::create(animation);
this->runAction(animate);
}
示例14: runFly
void Hero::runFly(){
CCAnimation* animation = m_nScene->createArray((char*)"jump", 3);
animation->setLoops(-1);
animation->setDelayPerUnit(0.01f);
flyAction = CCAnimate::create(animation);
flyAction->setDuration(0.9f);
this->runAction(flyAction);
}
示例15: setupAnimations
void Player::setupAnimations()
{
CCAnimation* animation;
CCSpriteFrame * frame;
//create CCAnimation object
animation = CCAnimation::create();
//CCString * name;
frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("reload.png");
animation->addSpriteFrame(frame);
frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("reloadready.png");
animation->setDelayPerUnit(.5 / 2.0f);
animation->setRestoreOriginalFrame(false);
_cannotReload = CCSequence::create(
CCAnimate::create(animation),
CCCallFuncN::create(this, callfuncN_selector(Player::canReloadAnimationDone)),
NULL);
_cannotReload->retain();
animation = CCAnimation::create();
frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("reloadready.png");
animation->addSpriteFrame(frame);
frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName("reload.png");
animation->setDelayPerUnit(.5 / 2.0f);
animation->setRestoreOriginalFrame(false);
_canReload = CCSequence::create(
CCAnimate::create(animation),
CCCallFuncN::create(this, callfuncN_selector(Player::cannotReloadAnimationDone)),
NULL);
_canReload->retain();
//create CCAnimation object
animation = CCAnimation::create();
CCString * name;
for(int i = 0; i <= 20; i++) {
name = CCString::createWithFormat("shell%i.png", i);
frame = CCSpriteFrameCache::sharedSpriteFrameCache()->spriteFrameByName(name->getCString());
animation->addSpriteFrame(frame);
}
animation->setDelayPerUnit(.5 / 21.0f);
animation->setRestoreOriginalFrame(false);
animation->setLoops(10);
_rotateShells = CCSequence::create(
CCAnimate::create(animation),
CCCallFuncN::create(this, callfuncN_selector(Player::shellAnimationDone)),
NULL);
_rotateShells->retain();
}