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:点ccp(x,y)坐标
CCActionInterval* moveTo = CCMoveTo::create(5,ccp(300, 100));
CCMoveBy:精灵移动的距离(和MoveTo有区别)
//参数1:移动到目标坐标距离!!所需的时间 参数2:点ccp(x,y)坐标 支持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:倾斜到特定角度所需的时间 参数2:x轴的倾斜角度(180转一圈,正负旋转方向不同) 参数3:y轴的倾斜角度(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:贝塞尔曲线运动的时间 参数2 :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:贝塞尔曲线运动的时间 参数2 :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:时间 参数2 :红色分量 参数3:绿色分量 参数4蓝色分量
CCActionInterval * tinto = CCTintTo ::create(6, 0, 0, 255);
// CCTintBy:创建一个色彩变化的出现动作 支持reverse
// 参数1:色彩变化的动作 参数2 :红色分量 参数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: 创建一个球面坐标轨迹进行旋转的动作
// 参数1 : 旋转轨迹的时间 参数2 :起始半径 参数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:控制点的坐标数组 参数3 拟合度 其值= 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
// 作用:x轴3D反转特效
// 参数:特效持续的时间
// CCActionInterval *flipX3D= CCFlipX3D::create(4);
// sp->runAction(flipX3D);
// CCFlipY3D
// 作用:Y轴3D反转特效
// 参数:特效持续的时间
// 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);