cocos2d-x的初步学习二

好了,上一篇文章中我们介绍了如何创建一个精灵,那么现在我们给他加点动作(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的区别,大家都可以去尝试尝试。。。。。。。。

posted on 2013-06-15 20:46  狠人大帝  阅读(422)  评论(0编辑  收藏  举报