关于cocos2dx中动画的整理

1.瞬时动作:CCActionInstant

CCPlace  用于定位

CCHide / CCShow 隐藏和显示

CCToggleVisibility  交替变化换是否为隐藏状态

CCFlipX / CCFlipY分别为水平翻转和垂直翻转


---------------------瞬时动画

auto _place = Place::create(ccp(50,50));
s->runAction(_place);


auto _flipX = CCFlipX::create(true);
s->runAction(_flipX);


auto _flipY = CCFlipY::create(true);
s->runAction(_flipY);


auto _hide = CCHide::create();
s->runAction(_hide);


auto _show = CCShow::create();
s->runAction(_show);


auto toggle = CCToggleVisibility::create();
s->runAction(toggle);

---------------------------------------------------------------------

2.ActionInterval:延时动作 

CCMoveTo / CCMoveBy

CCJumpTo / CCJumpBy

CCBezierTo / CCBezierBy

CCScaleTo / CCScaleBy

CCRotateTo / CCRotateBy

闪烁:CCBlink

色调变化:CCTintTo / CCTintBy

变暗到:CCFadeTo 

淡出:CCFadeIn

渐隐:CCFadeOut

---------

auto  mby = CCMoveBy::create(10, ccp(winsize.width/2,winsize.height/2));
s->runAction(mby);


auto tin = CCTintTo::create(1, 255,0,0);
s->runAction(tin);


auto _fadeout = CCFadeOut::create(1);
auto _delay = DelayTime::create(2);
auto _fadeto = CCFadeTo::create(1,255);
auto sequence = Sequence::create(_fadeout,_delay,_fadeto,NULL);
s->runAction(sequence);


auto _jump = CCJumpTo::create(14, ccp(winsize.width/2,50),10,3);
auto _scaleBy = CCScaleBy::create(1, 0.5);
auto _scaleBack = _scaleBy->reverse();
auto _rot = CCRotateTo::create(1,180);
auto blink = CCBlink::create(5,5);
auto _squence = CCSequence::create(_scaleBy,_scaleBack,_rot,blink,NULL);
s->runAction(Spawn::create(_jump, _squence,NULL));

-------------------------------

3.组合动作

序列:CCSequence

同步:CCSpawn

重复有限次:CCRepeat

反动作:Reverse

无限重复:CCRepeatForever

帧动画:CCAnimate

-----------------

auto *s =  Sprite::create("grossini_dance_07.png");
s->setPosition(ccp(winsize.width/2,winsize.height/2));
this->addChild(s);


auto _fadeout = CCFadeOut::create(1);
auto _fadein = CCFadeIn::create(1);
auto _sequence  = CCSequence::create(_fadeout,_fadein,NULL);
auto  _forever = CCRepeatForever::create(_sequence);
s->runAction(_forever);


auto frameCount = 9;
Vector<SpriteFrame *> frameArray;
char str[50];
for (int i=1; i<=frameCount; i++){
sprintf_s(str,"grossini_dance_%02d.png",i);
auto frame = SpriteFrame::create(str, CCRect(0,0,85,121));
frameArray.pushBack(frame);
}
auto  animation = Animation::createWithSpriteFrames(frameArray, 0.2);
    auto  animate =  Animate::create(animation);
s->runAction(RepeatForever::create(animate));

return true;

--------------------------------------

 EaseIn 由慢至快。
  EaseOut 由快至慢
  EaseInOut 由慢至快再由快至慢。
  EaseSineIn 由慢至快。
  EaseSineOut 由快至慢
  EaseSineInOut 由慢至快再由快至慢。
  EaseExponentialIn 由慢至极快。
  EaseExponentialOut 由极快至慢。
  EaseExponentialInOut 由慢至极快再由极快至慢。
  Speed 人工设定速度,还可通过 SetSpeed 不断调整。


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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值