Cocos中动作的初识

CCSequence执行一组动作:参数多个,但是最后一个必须是NULL!!!这是c++里必须的其他不用!

CCSequence* ccSequence = CCSequence::create(moveBy, actionmoveback,NULL);

XX->runAction(ccSequence );

 

//    CCRepeat :对目标动作进行重复运动(目标动作可以是CCSequence CCSpawn
//    参数1:目标动作 参数2:重复次数
//    CCActionInterval * move = CCMoveTo::create(2, ccp(300, sp->getPositionY()));
//    CCActionInterval * move2 = CCMoveTo::create(2, ccp(100,100));
//    CCFiniteTimeAction*seq =CCSequence::create(move,move2,NULL);
//    CCFiniteTimeAction *repeat = CCRepeat::create(seq, 3);

 

//    CCRepeatForever :对目标动作进行永久性的重复运动(目标动作可以是CCSequence CCSpawn
//    参数:目标动作
//    CCActionInterval * move = CCMoveTo::create(1, ccp(300, sp->getPositionY()));
//    CCActionInterval * move1 = CCMoveTo::create(1, ccp(100,100));
//    CCFiniteTimeAction* seq = CCSequence::create(move,move1,NULL);
//  CCActionInterval *repeatForever=CCRepeatForever::create((CCActionInterval* )seq);

 

//    CCCallFunc :创建一个回调动作(调用不带参数的回调方法);
//    参数1:目标动作   参数2:目标回调函数
//    CCActionInterval * move = CCMoveTo::create(1, ccp(300, sp->getPositionY()));
//CCCallFunc * funcall=CCCallFunc::create(this,callfunc_selector(HelloWorld::callbackC));
//    CCFiniteTimeAction * seq = CCSequence::create(move,funcall,NULL);

 

//    CCCallFuncN :创建一个回调动作(调用 带一个参数的回调方法);
    //    参数1:目标动作 参数2:目标回调函数
//    CCActionInterval * move = CCMoveTo::create(1, ccp(300, sp->getPositionY()));
//    CCCallFuncN * funcall= CCCallFuncN::create(this, callfuncN_selector(HelloWorld::callbackN));
//    CCFiniteTimeAction * seq = CCSequence::create(move,funcall,NULL);


    
//    CCCallFuncND :创建一个回调动作(调用 带两个参数的回调方法);
    //    参数1:目标动作  参数2:目标回调函数
    CCActionInterval * move = CCMoveTo::create(1, ccp(300, sp->getPositionY()));
    CCCallFuncND * funcall= CCCallFuncND::create(this, callfuncND_selector(HelloWorld::callbackND)  ,(void*)0xbebabeba);
    CCFiniteTimeAction * seq = CCSequence::create(move,funcall,NULL);

 

 

 

CCMoveTo: 精灵运动到某一点(x,y)

//参数1:移动到目标坐标所需的时间 参数2:点ccpxy)坐标  

CCActionInterval* moveTo = CCMoveTo::create(5,ccp(300, 100));

 

CCMoveBy:精灵移动的距离(和MoveTo有区别)

//参数1:移动到目标坐标距离!!所需的时间 参数2:点ccpxy)坐标  支持reverse 可以获取其反向动作

CCActionInterval * moveBy = CCMoveBy::create(5,ccp(300, 100)); 

CCActionInterval * actionmoveback= moveBy->reverse();   //获取反向动作

 

CCScaleTo:创建一个缩放的动作

参数1达到缩放大小所需的时间 参数2缩放的比例

 CCActionInterval * scaleto = CCScaleTo ::create(2, 2);

 

 CCScaleBy  作用:创建一个缩放的动作(和ScaleTo不同,如果执行两边就有区别了,执行两边ScaleTo不会再放大,而ScaleBy会继续放大)支持reverse 可以获取其反向动作

    参数1:达到缩放大小的所需时间  参数2:缩放比例
//    CCActionInterval * scaleby = CCScaleBy::create(2, 2);
//    CCActionInterval * actionbyback = scaleby->reverse();

 

    CCRotateTo:作用创建一个旋转的动作
    参数1:旋转的时间  参数2:旋转饿角度  0 - 360
//    CCActionInterval * rotateto = CCRotateTo::create(2, 90);

 

///  CCSkewTo:作用创建一个倾斜的动作
    参数1:倾斜到特定角度所需的时间 参数2x轴的倾斜角度(180转一圈,正负旋转方向不同) 参数3y轴的倾斜角度(180转一圈,正负旋转方向不同
//    CCActionInterval * skewto = CCSkewTo::create(2, 10, 10);

 

    CCJumpTo创建一个跳的动作
    参数1:跳到目标动作位子的所需时间 参数2:目标位置  参数3:跳的高度 参数4跳到目标位置的次数
//    CCActionInterval* jumpto = CCJumpTo ::create(2, ccp(300, 200), 50, 4 );

 

    CCJumpBy:创建一个跳的动作 支持方向动作reverse
//参数1:跳到目标动作位子的所需时间   参数2:目标位置(是移动的距离!!!!)  参数3:跳的高度  参数4跳到目标位置的次数  
//    CCActionInterval * jumpby = CCJumpBy ::create(3, ccp(300, 200), 50, 4);
//    CCActionInterval * ac= jumpby->reverse();

 

CCBezierTo :创建一个贝塞尔曲线运动的动作 
    //    参数1:贝塞尔曲线运动的时间  参数ccBezierConfig结构体 

ccBezierConfig  beziercon;

beziercon.controlPoint_1=ccp(200, 150);//控制点1

beziercon.controlPoint_2=ccp(200, 160);//控制点2

beziercon.endPosition =ccp(340, 100);// 结束位置

CCActionInterval* action = CCBezierTo ::create(10, beziercon);

 

CCBezierBy :创建一个贝塞尔曲线运动的动作 支持reverse
    //    参数1:贝塞尔曲线运动的时间  参数ccBezierConfig结构体   

ccBezierConfig  beziercon;

beziercon.controlPoint_1=ccp(200, 150);//控制点1

beziercon.controlPoint_2=ccp(200, 160);//控制点2

beziercon.endPosition =ccp(340, 100);// 结束位置

CCActionInterval* action = CCBezierBy ::create(10, beziercon);

CCActionInterval* back  = action->reverse();

CCFadeIn:创建一个渐变出现的动作
//    参数1是时间

sprite->setOpacity(0); //先要设置经历的透明度

 CCActionInterval * fadein = CCFadeIn::create(5); //最后透明度是255

 

//    CCFadeOut :创建一个渐变消失的动作
    //    参数1是时间
//    CCActionInterval * fadeout = CCFadeOut::create(2);

 

//CCTintTo :创建一个色彩变化的消失动作
//    参数1时间  参数:红色分量 参数3绿色分量 参数4蓝色分量

CCActionInterval * tinto = CCTintTo ::create(6, 0, 0, 255);

 

//    CCTintBy:创建一个色彩变化的出现动作 支持reverse
 //    参数1:色彩变化的动作  参数:红色分量  参数3:蓝色分量   
//    CCActionInterval * tintby = CCTintBy::create(3, 0, 255, 255);
//    CCActionInterval * tintby1 = tintby->reverse();

 

//    CCBlink:创建一额闪烁的动作
//    参数1:闪烁完成的时间 参数2:闪烁的次数

CCActionInterval * blink = CCBlink ::create(3, 10);

 

 //    CCDelayTime: 创建一个延迟的动作
//    参数  延迟的时间
//    CCActionInterval * delaytime = CCDelayTime::create(3);

 

//    CCOrbitCamera: 创建一个球面坐标轨迹进行旋转的动作
//    参数: 旋转轨迹的时间  参数:起始半径 参数3:半径差 参数4:起始z  

 参数5:旋转z角的差 参数6:起始x  参数7:旋转x角的差
//     CCActionInterval * orbitcamera = CCOrbitCamera::create(3, 10, 0, 45, 180, 90, 0);

 

 

//    CCPointArray 
//    作用:创建数组  点的数组

CCPointArray * array = CCPointArray::create(20);

array->addControlPoint(ccp(0,0));

array->addControlPoint(ccp(480,320));

array->addControlPoint(ccp(480,640));

array->addControlPoint(ccp(480,320));

array->addControlPoint(ccp(0,0));

/ / CCCardinalSplineTo: 创建一个样条曲线轨迹的动作
//    参数1:完成轨迹所需的时间 参数2:控制点的坐标数组 参数3拟合度  其值= 0 路径最柔和

CCActionInterval  * CardinalSplineTo=CCCardinalSplineTo::create(6, array, 0);

 

//CCCardinalSplineBy:创建一个样条曲线轨迹的动作
 //    参数1:完成轨迹所需的时间 参数2:控制点的坐标数组 参数拟合度  其值= 0 路径最柔和
//    CCActionInterval * CardinalSplineBy = CCCardinalSplineBy::create(3, array, 0);

 

//    CCCatmullRomTo  CCCatmullRomBY:创建一个线段型的轨迹
//    参数1:完成轨迹的时间 参数2:控制点的数组坐标
//    CCActionInterval * catmullRomTo = CCCatmullRomTo::create(3, array);

 

 

//    CCFollow:创建一个跟随动作 (一般是layer 和 node 一起用)
//    参数1:跟随的目标对象  跟随范围,离开范围就不再跟随(不设就是无限大)
//    sp->runAction(CCMoveTo::create(3, ccp(940,sp->getPositionY())));
//    
//     CCFollow * follow = CCFollow::create(sp,CCRectMake(0, 0, 960, 320));
//    this-> runAction(follow); //this就是layer

 

//    CCEaseBounceIn
//    目标动作
//    CCActionInterval* move = CCMoveTo::create(3, ccp(300, sp->getPositionY()));
    让目标动作缓慢开始
    参数:目标动作
//    CCActionInterval * EaseBounceIn = CCEaseBounceIn::create(move);

 

 

//CCEaseBounceOut :让目标动作赋予反弹力,且以目标动作结束位子开始反弹
//    参数目标动作 例如一个MoveTo
//    CCActionInterval * easeBounceOut = CCEaseBounceOut ::create(move);

 

//    CCEaseBounceInOut:让目标动作赋予反弹力,且以目标动作起始与结束位子开始反弹
//    CCActionInterval * easeBounceInOut= CCEaseBounceInOut::create(move);

 

 

//   CCEaseBackIn:让目标动作赋予回力 , 且以目标动作起点位置作为回力点
//    参数:目标动作
//    CCActionInterval * easeBackIn = CCEaseBackIn::create(move);

 

/    CCEaseBackOut:让目标动作赋予回力 , 且以目标动作终点位置作为回力点
    //    参数:目标动作
//    CCActionInterval *easeBackOut = CCEaseBackOut::create(move);

 

 

//    CCEaseBackInOut :让目标动作赋予回力 , 且以目标动作起点和终点位置作为回力点
 //    参数:目标动作
//    CCActionInterval * easeBackInOut = CCEaseBackInOut::create(move);

 

 

/    CCEaseElasticIn :让目标动作赋予弹性 ,且以目标动作起点位子赋予弹性
//     参数:目标动作
//    CCActionInterval * easeElasticIn= CCEaseElasticIn::create(move);
    
//     CCEaseElasticOut :让目标动作赋予弹性 ,且以目标动作终点位子赋予弹性
    //     参数:目标动作
//    CCActionInterval *easeElasticOut = CCEaseElasticOut::create(move);
    
//    CCEaseElasticInOut :让目标动作赋予弹性 ,且以目标动作起点和终点位子赋予弹性
    //     参数:目标动作
//    CCActionInterval *easeElasticInOut = CCEaseElasticOut::create(move);

 

 

/    CCEaseExponentialIn:让目标动作缓慢开始
//    参数:目标动作
//    CCActionInterval * easeExponentialIn= CCEaseExponentialIn::create(move);
    
    //    CCEaseExponentialOut:让目标动作缓慢中止
    //    参数:目标动作
//    CCActionInterval * easeExponentialIn= CCEaseExponentialOut::create(move);
    
//    CCEaseExponentialInOut:让目标动作缓慢开始和中止
    //    参数:目标动作
//    CCActionInterval * easeExponentialInOut= CCEaseExponentialInOut::create(move);

 

 

/    CCEaseSineIn :动作由慢到快
//      参数:目标动作
//    CCActionInterval * easeSineIn = CCEaseSineIn::create(move);
    
    //    CCEaseSineOut :动作由快到慢
    //      参数:目标动作
//    CCActionInterval * easeSineOut = CCEaseSineOut::create(move);
    
    //    CCEaseSineInOut :动作由慢到快再快到慢
    //      参数:目标动作
//    CCActionInterval * easeSineInOut = CCEaseSineInOut::create(move);

 

//    CCSpeed :让目标动作运行速度加倍
//    参数1:目标动作  参数2:倍速
//        CCActionInterval * move = CCMoveTo::create(10, ccp(300,sp->getPositionY()));
//    CCSpeed * speed =CCSpeed::create(move, 100);

 

   //----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//    常见的22种特效
//    CCShaky3D
//作用:创建一个3d晃动的特效
//    参数1:晃动的范围
//    参数2:是否有z轴晃动
//    参数3:  网格大小
//    参数4:特效持续的时间
//    CCActionInterval * shaky3D= CCShaky3D::create(15, false, ccg(15, 10), 4);
//    sp->runAction(shaky3D);
    
//    CCShakyTiles3D
//    作用:创建一个3d瓷砖晃动的特效
    //    参数1:晃动的范围
    //    参数2:是否有z轴晃动
    //    参数3:  网格大小
    //    参数4:特效持续的时间
//    CCActionInterval * shakyTiles3D = CCShakyTiles3D::create(15, true, ccg(15, 10), 4);
//    sp->runAction(shakyTiles3D);
    
//    CCWaves
//    创建一个波动特效
//    参数1:波动的速率
//    参数2:振幅
//    参数3:水平波动
//    参数4:垂直波动
//    参数5:网格大小
//    参数6:特效持续时间
//    CCActionInterval * waves = CCWaves::create(10, 20, true, true, ccg(16, 12), 4);
//    sp->runAction(waves);
    
//    CCWaves3D
    //    创建一个3D波动特效
    //    参数1:波动的速率
    //    参数2:振幅
    //    参数3:网格大小
    //    参数4:特效持续时间
//    CCActionInterval * waves3d= CCWaves3D::create(10, 20, ccg(16, 12), 4);
//    sp->runAction(waves3d);
    
//    CCWavesTiles3D
    //    创建一个3D瓷砖波动特效
    //    参数1:波动的速率
    //    参数2:振幅
    //    参数3:网格大小
    //    参数4:特效持续时间
//    CCActionInterval * wavesTiles3D = CCWavesTiles3D::create(10, 20, ccg(16, 12), 4);
//    sp->runAction(wavesTiles3D);
    
//    CCFlipX3D
//    作用:x3D反转特效
//    参数:特效持续的时间
//    CCActionInterval *flipX3D= CCFlipX3D::create(4);
//    sp->runAction(flipX3D);
    
//    CCFlipY3D
    //    作用:Y3D反转特效
    //    参数:特效持续的时间
//    CCActionInterval * flipY3D = CCFlipY3D::create(4);
//    sp->runAction(flipY3D);
    
//    CCLens3D
//    作用:  凸镜特效
//    参数1:凸镜中心点
//    参数2:凸镜半径
//    参数3:网格大小
//    参数4:网格持续时间
//    CCActionInterval * lens3D= CCLens3D::create(CCPointMake(size.width/2, size.height/2), 240, ccg(15, 10), 4);
//    sp->runAction(lens3D);


//    CCRipple3D
//    作用:水波特效
//    参数1:起始位子
//    参数2:半径
//    参数3:速率
//    参数4:振幅
//    参数5:网格大小
//    参数6:特效持续的时间
//    CCActionInterval * ripple3D= CCRipple3D::create(CCPointMake(size.width/2, size.height/2), 240, 4, 160, ccg(15,10), 4);
//    sp->runAction(ripple3D);
    
//    CCLiquid
//    作用:液体特效
//    参数1:速率
//    参数2:振幅
//    参数3:网格大小
//    参数4:特效持续时间
//    CCActionInterval * liquid = CCLiquid::create(4, 20, ccg(16, 12), 4);
//    sp->runAction(liquid);
    
//    CCTwirl
//    作用:扭曲旋转特效
//    参数1:扭曲旋转中心点
//    参数2:扭曲旋转的次数
//    参数3:振幅
//    参数4:网格大小
//    参数5:特效持续时间
//    CCActionInterval  * twirl = CCTwirl::create(CCPointMake(size.width/2, size.height/2), 2, 2.5f, ccg(12, 8), 3);
//    sp->runAction(twirl);
    
//    CCShuffleTiles
//    作用:瓷砖的洗牌特效
//    参数1:随机数
//    参数2:网格大小
//    参数3:特效持续的时间
//    CCActionInterval *shuffleTiles = CCShuffleTiles::create(16, ccg(16, 12), 2);
//    sp->runAction(shuffleTiles);
    
//    CCShatteredTiles3D
//    作用:破碎的3D瓷砖特效
//    参数1:范围
//    参数2:是否开启z
//    参数3:网格大小
//    参数4:特效持续的时间
//    CCActionInterval * shatteredTiles3D= CCShatteredTiles3D::create(25, true, ccg(16, 12), 4);
//    sp->runAction(shatteredTiles3D);


//    CCFadeOutTRTiles
//    作用:部落格效果 , 从左下角到右下角
//    参数1:网格大小
//    参数2:特效持续的时间
//    CCActionInterval * fadeOutTRTiles = CCFadeOutTRTiles::create(ccg(16, 12), 3);
//    sp->runAction(fadeOutTRTiles);


//    CCFadeOutBLTiles
    //    作用:部落格效果 , 从右下角到左下角
    //    参数1:网格大小
    //    参数2:特效持续的时间
//    CCActionInterval * fadeOutBLTiles = CCFadeOutBLTiles::create(ccg(16, 12), 3);
//    sp->runAction(fadeOutBLTiles);


//    CCFadeOutUpTiles
//    作用:折叠效果 从下到上
    //    参数1:网格大小
    //    参数2:特效持续的时间
//    CCActionInterval * fadeOutUpTiles = CCFadeOutUpTiles::create(ccg(16, 12), 3);
//    sp->runAction(fadeOutUpTiles);
    
//    CCFadeOutDownTiles
    //    作用:折叠效果 从上到下
    //    参数1:网格大小
    //    参数2:特效持续的时间
//    CCActionInterval * fadeOutDownTiles = CCFadeOutDownTiles::create(ccg(16, 12), 3);
//    sp->runAction(fadeOutDownTiles);
  
//    CCTurnOffTiles
//    作用:方块消失特效
    //    参数1:网格大小
    //    参数2:特效持续的时间
//    CCActionInterval * turnOffTiles = CCTurnOffTiles::create(ccg(16, 12), 3);
//    sp->runAction(turnOffTiles);


//    CCJumpTiles3D
//    作用:跳动的方格特效
//    参数1:跳动的次数
//    参数2:网格的大小
//    参数3:特效持续的时间
//    CCActionInterval * jumpTiles3D = CCJumpTiles3D::create(1, 30, ccg(15, 10), 2);
//    sp->runAction(jumpTiles3D);
    
//    CCSplitRows
//    作用:分多行消失特效
//    参数1:行数
//    参数2:特效持续的时间
//    CCActionInterval *splitRows= CCSplitRows::create(20, 2);
//    sp->runAction(splitRows);


//    CCSplitCols
    //    作用:分多列消失特效
    //    参数1:列数
    //    参数2:特效持续的时间
//    CCActionInterval * splitCols = CCSplitCols::create(20, 2);
//    sp->runAction(splitCols);
    
//    CCPageTurn3D
//    作用:3D翻页特效
//    参数1:网格大小
//    参数2:特效持续的时间
    CCActionInterval * pageTurn3D = CCPageTurn3D::create(ccg(15, 10), 3);
    sp->runAction(pageTurn3D);


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值