好了,上一篇文章中我们介绍了如何创建一个精灵,那么现在我们给他加点动作(action)。下面我总结了一下一些基本的动作函数。
CCPoint p=ccp(size.width/2+100, size.height/2);
//放置 其实就相当于setposition
CCPlace *ac1=CCPlace::create(p);
//隐藏
CCHide *ac2=CCHide::create();
//显示
CCShow *ac3=CCShow::create();
//可见切换
CCToggleVisibility *ac4=CCToggleVisibility::create();
//to移到到指定位置,by是相对的位置,移到的是增量
CCMoveTo *ac5=CCMoveTo::create(2.0f, p);
//跳跃到,4个参数分别是时间,位置,跳跃的高度,跳跃次数
CCJumpTo *ac6=CCJumpTo::create(2.0f, p, 10, 2);
//贝塞尔曲线,先设置贝塞尔参数,两个控制点,一个结束点
ccBezierConfig bezier;
bezier.controlPoint_1=ccp(100, 100);
bezier.controlPoint_2=ccp(300, 300);
bezier.endPosition=ccp(500, 500);
CCBezierTo *ac7=CCBezierTo::create(2.0f, bezier);
//放大
CCScaleTo *ac8=CCScaleTo::create(2.0f, 2.0f);
//旋转
CCRotateTo *ac9=CCRotateTo::create(2.0f, 200);
//闪烁
CCBlink *ac10=CCBlink::create(2.0f, 3);
//色调变换
CCTintTo *ac11=CCTintTo::create(2.0f, 0, 234, 255);
//变暗到
CCFadeTo *ac12=CCFadeTo::create(2.0, 200);
//由无变亮
CCFadeIn *ac13=CCFadeIn::create(2.0f);
//由亮到无
CCFadeOut *ac14=CCFadeOut::create(2.0f);
//序列,顾名思义就是按照顺序一个个动画执行,别忘了最后要加上NULL,表示结束了
CCSequence *seq=CCSequence::create(ac1,ac2,ac3,NULL);
//同步,几个动画一起执行
CCSpawn *spawn=CCSpawn::create(ac1,ac2,ac3,NULL);
//有次数的的重复动画
CCRepeat *repeat=CCRepeat::create(seq, 10);
//无限重复,但不能参与序列,同步动画
CCRepeatForever *repeatForver=CCRepeatForever::create(seq);
//由慢至快,第二个参数表示加速率
CCEaseIn *ac16=CCEaseIn::create(ac5, 2.0f);
//这些都是关于速度变化的动画
CCEaseInOut *ac17=CCEaseInOut::create(ac5, 2.0f);
//延迟
CCDelayTime *delatTime=CCDelayTime::create(1.0f);
pSprite->runAction(ac17);
好了,当然里面并不是很全,还有些是to和by的区别,大家都可以去尝试尝试。。。。。。。。