cocos2dx常见的46中+22中动作详解

cocos2dx常见的46中+22中动作详解,第1张

概述bool HelloWorld::init(){ ////////////////////////////// // 1. super init first if ( !CCLayer::init() ) { return false; } CCSprite * sp= CCSprite::create("Icon.png");




bool HelloWorld::init(){    //////////////////////////////    // 1. super init first    if ( !cclayer::init() )    {        return false;    }    CCSprite * sp= CCSprite::create("Icon.png");    sp->setposition(ccp(150,150));    addChild(sp,922); ////    Action动作//    ////CCMoveBy  创建一个移动的动作   参数1:移动到目标坐标所需的时间 参数2:目标坐标    支持reverse 可以获取其反向动作////    CCMoveto  一样的//    CCActionInterval * moveBy = CCMoveBy::create(5,ccp(300,100));//    CCActionInterval * actionmoveback= moveBy->reverse();//    sp->runAction(actionmoveback);//    ////    CCScaleto   作用:创建一个缩放的动作////    参数1:达到缩放大小所需的时间////    参数2 :缩放的比例//    CCActionInterval * scaleto = CCScaleto ::create(2,2);//    sp->runAction(scaleto);//    ////    CCScaleBy  作用:创建一个缩放的动作////    参数1:达到缩放大小的所需时间  参数2:缩放比例//    CCActionInterval * scaleby = CCScaleBy::create(2,2);//    CCActionInterval * actionbyback = scaleby->reverse();//    sp->runAction(actionbyback);//    ////    CCRotateto////    作用创建一个旋转的动作////    参数1:旋转的时间  参数2:旋转饿角度  0 - 360//    CCActionInterval * rotateto = CCRotateto::create(2,90);//    sp->runAction(rotateto);//    ////  CCSkewTo////   作用创建一个倾斜的动作////    参数1:倾斜到特定角度所需的时间////    参数2:x轴的倾斜角度////    参数3:y轴的倾斜角度//    CCActionInterval * skewto = CCSkewTo::create(2,10,10);//    sp->runAction(skewto);//    ////    CCJumpTo////    作用:创建一个跳的动作////    参数1:跳到目标动作位子的所需时间////    参数2:目标位置////    参数3:跳的高度////    参数4跳到目标位置的次数//    CCActionInterval* jumpto = CCJumpTo ::create(2,200),50,4 );//    sp->runAction(jumpto);//    ////    CCJumpBy//    //    作用:创建一个跳的动作//    //    参数1:跳到目标动作位子的所需时间//    //    参数2:目标位置//    //    参数3:跳的高度//    //    参数4跳到目标位置的次数////    这个支持方向动作reverse//    CCActionInterval * jumpby = CCJumpBy ::create(3,4);//       CCActionInterval * ac= jumpby->reverse();//    sp->runAction(ac);    //    CCBezIEr//ccBezIErConfig结构体    //    ccBezIErConfig bezIErCon;//    bezIErCon.controlPoint_1=CCPointMake(200,150);//控制点1//    bezIErCon.controlPoint_2=CCPointMake(200,160);//控制点2//    bezIErCon.endposition =CCPointMake(340,100);// 结束位置// CCBezIErTo    //    创建一个贝塞尔曲线运动的动作    //    参数1:贝塞尔曲线运动的时间//    参数2 :ccBezIErConfig结构体   //    CCActionInterval * action = CCBezIErTo::create(2,bezIErCon);//    CCActionInterval * action = CCBezIErBy::create(3,bezIErCon);//支持反向//    CCActionInterval * action1 = action->reverse();//    sp->runAction(action1);//    CCFadeIn//    作用:创建一个渐变出现的动作//    参数是时间//    CCActionInterval * fadein = CCFadeIn::create(2);//    sp->runAction(fadein);//    CCFadeOut    //    作用:创建一个渐变消失的动作    //    参数是时间//    CCActionInterval * fadeout = CCFadeOut::create(2);//    sp->runAction(fadeout);//CCTintTo//    作用:创建一个色彩变化的消失动作//    参数1:色彩变化的动作//    参数2 :红色分量//    参数3:蓝色分量//    CCActionInterval * tinto = CCTintTo ::create(3,255,0);//    sp->runAction(tinto);     //    CCTintBy    //    作用:创建一个色彩变化的出现动作    //    参数1:色彩变化的动作    //    参数2 :红色分量     //    参数3:蓝色分量   但是家了reverse就是 反向的//    CCActionInterval * tintby = CCTintBy::create(3,255);//    CCActionInterval * tintby1 = tintby->reverse();//    sp->runAction(tintby1);    //    CCBlink//    作用 :创建一额闪烁的动作//    参数1:闪烁完成的时间//    参数2:闪烁的次数//    CCActionInterval * blink = CCBlink ::create(3,10);//    sp->runAction(blink);            //    CCDelayTime//    创建一个延迟的动作//    参数  延迟的时间//    CCActionInterval * delaytime = CCDelayTime::create(3);//    sp->runAction(delaytime);    //    CCOrbitCamera//    作用:创建一个球面坐标轨迹进行旋转的动作//    参数1 : 旋转轨迹的时间//    参数2 :起始半径//    参数3:半径差//    参数4:起始z角//    参数5:旋转z角的差//    参数6:起始x角//    参数7:旋转x角的差//     CCActionInterval * orbitcamera = CCOrbitCamera::create(3,45,180,90,0);//    sp->runAction(orbitcamera);//    CCCardinalSpline//    作用:创建数组  点的数组    CCPointArray * array = CCPointArray::create(20);    array->addControlPoint(ccp(0,0));     array->addControlPoint(ccp(210,240));     array->addControlPoint(ccp(0,160));    array->addControlPoint(ccp(0,0));//    CCCardinalSplineto//    作用:创建一个样条曲线轨迹的动作//    参数1:完成轨迹所需的时间//    参数2:控制点的坐标数组//    拟合度  其值= 0 路径最柔和//    CCActionInterval  * CardinalSplineto=CCCardinalSplineto::create(3,array,0);//   sp->runAction(CardinalSplineto);//CCCardinalSplineBy    //    作用:创建一个样条曲线轨迹的动作    //    参数1:完成轨迹所需的时间    //    参数2:控制点的坐标数组    //    拟合度  其值= 0 路径最柔和//    CCActionInterval * CardinalSplineBy = CCCardinalSplineBy::create(3,0);//    sp->runAction(CardinalSplineBy);    //    CCCatmullRomTo  CCCatmullRomBY//    作用:创建一个样条插值轨迹//    参数1:完成轨迹的时间//    参数2:控制点的数组坐标//    CCActionInterval * catmullRomTo = CCCatmullRomTo::create(3,array);//    sp->runAction(catmullRomTo);    //    CCFollow//    作用:创建一个跟随动作//    参数1:跟随的目标对象//    跟随范围,离开范围就不再跟随      //创建一个参照物spT//    CCSprite * spt = CCSprite::create("Icon.png");//    spt->setposition(ccp(420,40));//    addChild(spt);//    sp->runAction(CCMoveto::create(3,ccp(940,sp->getpositionY())));//    //     CCFollow * follow = CCFollow::create(sp,CCRectMake(0,960,320));//    this-> runAction(follow);    //    CCEaseBounceIn//    目标动作//    CCActionInterval* move = CCMoveto::create(3,sp->getpositionY()));////    让目标动作缓慢开始////    参数:目标动作//    CCActionInterval * EaseBounceIn = CCEaseBounceIn::create(move);//    sp->runAction(EaseBounceIn);    //CCEaseBounceOut//    作用:让目标动作赋予反d力,且以目标动作结束位子开始反d//    参数目标动作//    CCActionInterval * easeBounceOut = CCEaseBounceOut ::create(move);//    sp->runAction(easeBounceOut);    //    CCEaseBounceInOut//    作用:让目标动作赋予反d力,且以目标动作起始与结束位子开始反d//    CCActionInterval * easeBounceInOut= CCEaseBounceInOut::create(move);//    sp->runAction(easeBounceInOut);    //   CCEaseBackIn//    作用:让目标动作赋予回力 , 且以目标动作起点位置作为回力点//    参数:目标动作//    CCActionInterval * easeBackIn = CCEaseBackIn::create(move);//    sp->runAction(easeBackIn);    //    CCEaseBackOut//    作用:让目标动作赋予回力 , 且以目标动作终点位置作为回力点    //    参数:目标动作//    CCActionInterval *easeBackOut = CCEaseBackOut::create(move);//    sp->runAction(easeBackOut);    //    CCEaseBackInOut//    作用:让目标动作赋予回力 , 且以目标动作起点和终点位置作为回力点    //    参数:目标动作//    CCActionInterval * easeBackInOut = CCEaseBackInOut::create(move);//    sp->runAction(easeBackInOut);    //    CCEaseElasticIn//    作用:让目标动作赋予d性 ,且以目标动作起点位子赋予d性//     参数:目标动作//    CCActionInterval * easeElasticIn= CCEaseElasticIn::create(move);//    sp->runAction(easeElasticIn);         CCEaseElasticOut  //做收缩菜单时用的    //    作用:让目标动作赋予d性 ,且以目标动作终点位子赋予d性    //     参数:目标动作//    CCActionInterval *easeElasticOut = CCEaseElasticOut::create(move);//    sp->runAction(easeElasticOut);    //    CCEaseElasticInOut    //    作用:让目标动作赋予d性 ,且以目标动作起点和终点位子赋予d性    //     参数:目标动作//    CCActionInterval *easeElasticInOut = CCEaseElasticOut::create(move);//    sp->runAction(easeElasticInOut);//    CCEaseExponentialin//    让目标动作缓慢开始//    参数:目标动作//    CCActionInterval * easeExponentialin= CCEaseExponentialin::create(move);//    sp->runAction(easeExponentialin);        //    CCEaseExponentialOut    //    让目标动作缓慢中止    //    参数:目标动作//    CCActionInterval * easeExponentialin= CCEaseExponentialOut::create(move);//    sp->runAction(easeExponentialin);    //    CCEaseExponentialinOut    //    让目标动作缓慢开始和中止    //    参数:目标动作//    CCActionInterval * easeExponentialinOut= CCEaseExponentialinOut::create(move);//    sp->runAction(easeExponentialinOut);    //    CCEaseRateAction//    作用 : 让目标动作设置速率//    参数1:目标动作//    参数2:速率//    CCActionInterval * move = CCMoveto::create(5,sp->getpositionY()));//    CCActionInterval * easeRateAction = CCEaseRateAction::create(move,3);//    sp->runAction(easeRateAction);    //    CCEaseSineIn//    作用:动作由慢到快//      参数:目标动作//    CCActionInterval * easeSineIn = CCEaseSineIn::create(move);//    sp->runAction(easeSineIn);        //    CCEaseSineOut    //    作用:动作由快到慢    //      参数:目标动作//    CCActionInterval * easeSineOut = CCEaseSineOut::create(move);//    sp->runAction(easeSineOut);        //    CCEaseSineInOut    //    作用:动作由慢到快再快到慢    //      参数:目标动作//    CCActionInterval * easeSineInOut = CCEaseSineInOut::create(move);//    sp->runAction(easeSineInOut);    //    CCSpeed//    作用:让目标动作运行速度加倍//    参数1:目标动作//    参数2:倍速//        CCActionInterval * move = CCMoveto::create(10,sp->getpositionY()));//    CCSpeed * speed =CCSpeed::create(move,100);//    sp->runAction(speed);    //    CCSpawn//  作用:让多个动作同时执行//    参数:目标动作的可变参数//    CCActionInterval * move = CCMoveto::create(10,sp->getpositionY()));//    CCActionInterval * scale = CCScaleto::create(2,3);//    CCActionInterval * rotate = CCRotateto::create(4,190);//    CCFiniteTimeAction * spawn =CCSpawn::create(move,scale,rotate,NulL);//    sp->runAction(spawn);    //    CCSequence    //    作用:让多个动作按照前后顺序逐一执行    //    参数:目标动作的可变参数//    CCActionInterval * move = CCMoveto::create(2,3);//    CCFiniteTimeAction * seq= CCSequence::create(move,NulL);//    sp->runAction(seq);    //    扩展如果要对目标动作全部进行方向运动,可以使用如下形式 *** 作    //    CCFiniteTimeAction *seq=CCSequence::create(moveby,scaleby,...NulL);    //    CCFiniteTimeAction * reverseseq = CCSequence::create(seq,seq->reverse(),NulL)    //    注意CCSequence中的所有动作都必须支持reverse函数,否则会出现异常//    CCActionInterval * move = CCMoveBy::create(2,sp->getpositionY()));//    CCActionInterval * scale = CCScaleBy::create(2,NulL);//    CCFiniteTimeAction * reveseseq = CCSequence::create(seq,NulL);//    sp->runAction(reveseseq);    //    CCRepeat//    作用:对目标动作进行重复运动(目标动作可以是CCSequence ,CCSpawn)//    参数1:目标动作//    参数2:重复次数//    CCActionInterval * move = CCMoveto::create(2,sp->getpositionY()));//    CCActionInterval * move2 = CCMoveto::create(2,ccp(100,100));//    CCFiniteTimeAction*seq =CCSequence::create(move,move2,NulL);//    CCFiniteTimeAction *repeat = CCRepeat::create(seq,3);//    sp->runAction(repeat);    //    CCRepeatForever//    作用:对目标动作进行永久性的重复运动(目标动作可以是CCSequence ,CCSpawn)//    参数:目标动作//    CCActionInterval * move = CCMoveto::create(1,sp->getpositionY()));//    CCActionInterval * move1 = CCMoveto::create(1,100));//    CCFiniteTimeAction* seq = CCSequence::create(move,move1,NulL);//    CCActionInterval * repeatForever =CCRepeatForever::create((CCActionInterval* )seq);//    sp->runAction(repeatForever);    //    CCCallFunc//    作用:创建一个回调动作(调用不带参数的回调方法);//    参数1:目标动作//    参数2:目标回调函数//    CCActionInterval * move = CCMoveto::create(1,sp->getpositionY()));//    CCCallFunc * funcall= CCCallFunc::create(this,callfunc_selector(HelloWorld::callbackC));//    CCFiniteTimeAction * seq = CCSequence::create(move,funcall,NulL);//    sp->runAction(seq);    //    CCCallFuncN    //    作用:创建一个回调动作(调用 带一个参数的回调方法);    //    参数1:目标动作    //    参数2:目标回调函数//    CCActionInterval * move = CCMoveto::create(1,sp->getpositionY()));//    CCCallFuncN * funcall= CCCallFuncN::create(this,callfuncN_selector(HelloWorld::callbackN));//    CCFiniteTimeAction * seq = CCSequence::create(move,NulL);//    sp->runAction(seq);    //    CCCallFuncND    //    作用:创建一个回调动作(调用 带两个参数的回调方法);    //    参数1:目标动作    //    参数2:目标回调函数    CCActionInterval * move = CCMoveto::create(1,sp->getpositionY()));    CCCallFuncND * funcall= CCCallFuncND::create(this,callfuncND_selector(HelloWorld::callbackND),(voID*)0xbebabeba);    CCFiniteTimeAction * seq = CCSequence::create(move,NulL);    sp->runAction(seq);    return true;}voID HelloWorld::callbackC(){    cclOG("callbackC");}voID HelloWorld::callbackN(CCNode* sender){    cclOG("callbackN");}voID HelloWorld::callbackND(CCNode* sender,voID* data){    cclOG("callbackND");}bool HelloWorld::init(){    //////////////////////////////    // 1. super init first    if ( !cclayer::init() )    {        return false;    }    CCSize size =CCDirector::sharedDirector()->getWinSize();//获取屏幕大小          CCSprite * sp = CCSprite::create("Icon.png");    sp->setposition(ccp(200,200));        addChild(sp);    //---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------//    常见的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,4);//    sp->runAction(shakyTiles3D);    //    ccwaves//    创建一个波动特效//    参数1:波动的速率//    参数2:振幅//    参数3:水平波动//    参数4:垂直波动//    参数5:网格大小//    参数6:特效持续时间//    CCActionInterval * waves = ccwaves::create(10,20,ccg(16,12),4);//    sp->runAction(waves);    //    ccwaves3D    //    创建一个3D波动特效    //    参数1:波动的速率    //    参数2:振幅    //    参数3:网格大小    //    参数4:特效持续时间//    CCActionInterval * waves3d= ccwaves3D::create(10,4);//    sp->runAction(waves3d);    //    ccwavesTiles3D    //    创建一个3D瓷砖波动特效    //    参数1:波动的速率    //    参数2:振幅    //    参数3:网格大小    //    参数4:特效持续时间//    CCActionInterval * wavesTiles3D = ccwavesTiles3D::create(10,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,4);//    sp->runAction(lens3D);//    CCRipple3D//    作用:水波特效//    参数1:起始位子//    参数2:半径//    参数3:速率//    参数4:振幅//    参数5:网格大小//    参数6:特效持续的时间//    CCActionInterval * ripple3D= CCRipple3D::create(CCPointMake(size.wIDth/2,4,160,4);//    sp->runAction(ripple3D);    //    ccliquID//    作用:液体特效//    参数1:速率//    参数2:振幅//    参数3:网格大小//    参数4:特效持续时间//    CCActionInterval * liquID = ccliquID::create(4,4);//    sp->runAction(liquID);    //    CCTwirl//    作用:扭曲旋转特效//    参数1:扭曲旋转中心点//    参数2:扭曲旋转的次数//    参数3:振幅//    参数4:网格大小//    参数5:特效持续时间//    CCActionInterval  * twirl = CCTwirl::create(CCPointMake(size.wIDth/2,2,2.5f,ccg(12,8),3);//    sp->runAction(twirl);    //    CCShuffleTiles//    作用:瓷砖的洗牌特效//    参数1:随机数//    参数2:网格大小//    参数3:特效持续的时间//    CCActionInterval *shuffleTiles = CCShuffleTiles::create(16,2);//    sp->runAction(shuffleTiles);    //    CCShatteredTiles3D//    作用:破碎的3D瓷砖特效//    参数1:范围//    参数2:是否开启z轴//    参数3:网格大小//    参数4:特效持续的时间//    CCActionInterval * shatteredTiles3D= CCShatteredTiles3D::create(25,4);//    sp->runAction(shatteredTiles3D);//    CCFadeOutTRTiles//    作用:部落格效果 , 从左下角到右下角//    参数1:网格大小//    参数2:特效持续的时间//    CCActionInterval * fadeOutTRTiles = CCFadeOutTRTiles::create(ccg(16,3);//    sp->runAction(fadeOutTRTiles);//    CCFadeOutBLTiles    //    作用:部落格效果 , 从右下角到左下角    //    参数1:网格大小    //    参数2:特效持续的时间//    CCActionInterval * fadeOutBLTiles = CCFadeOutBLTiles::create(ccg(16,3);//    sp->runAction(fadeOutBLTiles);//    CCFadeOutUpTiles//    作用:折叠效果 从下到上    //    参数1:网格大小    //    参数2:特效持续的时间//    CCActionInterval * fadeOutUpTiles = CCFadeOutUpTiles::create(ccg(16,3);//    sp->runAction(fadeOutUpTiles);    //    CCFadeOutDownTiles    //    作用:折叠效果 从上到下    //    参数1:网格大小    //    参数2:特效持续的时间//    CCActionInterval * fadeOutDownTiles = CCFadeOutDownTiles::create(ccg(16,3);//    sp->runAction(fadeOutDownTiles);  //    CCTurnOffTiles//    作用:方块消失特效    //    参数1:网格大小    //    参数2:特效持续的时间//    CCActionInterval * turnOffTiles = CCTurnOffTiles::create(ccg(16,3);//    sp->runAction(turnOffTiles);//    CCJumpTiles3D//    作用:跳动的方格特效//    参数1:跳动的次数//    参数2:网格的大小//    参数3:特效持续的时间//    CCActionInterval * jumpTiles3D = CCJumpTiles3D::create(1,30,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,3);    sp->runAction(pageTurn3D);                return true;}
总结

以上是内存溢出为你收集整理的cocos2dx常见的46中+22中动作详解全部内容,希望文章能够帮你解决cocos2dx常见的46中+22中动作详解所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1028720.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存