转自:http://www.cnblogs.com/linux-ios/archive/2013/04/09/3009292.html
备用
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, 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); return true; }
//这个是光晕效果的参数 CCSpriteBatchNode *m_Batchnode=CCSpriteBatchNode::create("bullet.png");ccBlendFunc cb={GL_SRC_ALPHA,GL_ONE}; //将光晕效果加入 m_Batchnode->setBlendFunc(cb); //最后实例化一个 CCSpriteBatchNode里this->addChild(m_Batchnode); //缓存中取出W1.png图片,这个图片是在plist文件中所在的<key>标签里面的 CCSpriteCCSprite *bullet=CCSprite::createWithSpriteFrameName("W1.png"); //记得不是用this->addChild而是用m_Batchnode->addChild(bullet); //这样就能有光晕效果啦 主要是理解CCSpriteBatchNode bullet->setPosition(ccp(x,y)); m_Batchnode->addChild(bullet);
转自:http://blog.csdn.net/coodi8/article/details/7864520
//1. 不断旋转 CCRotateBy* rotate = CCRotateBy::actionWithDuration(1, 360); CCRepeatForever* repeatRotate = CCRepeatForever::actionWithAction(rotate); //2. 上升消失 CCMoveBy* move = CCMoveBy::actionWithDuration(2, ccp(0,200)); CCFadeOut* fadeOut = CCFadeOut::actionWithDuration(2); CCFiniteTimeAction* fadeOutAct = CCSpawn::actions(move,fadeOut,NULL); //3.贝赛而曲线 ccBezierConfig bezier; bezier.controlPoint_1 = ccp(100,200); bezier.controlPoint_2 = ccp(200, -100); bezier.endPosition = ccp(400, 100); CCBezierBy* bezierBy = CCBezierBy::actionWithDuration(5.0, bezier); //4. 变色 CCTintTo* tint1 = CCTintTo::actionWithDuration(1.5, 255, 0, 0); CCTintTo* tint2 = CCTintTo::actionWithDuration(1.5, 0, 255, 255); CCTintTo* tint3 = CCTintTo::actionWithDuration(1.5, 0, 255, 0); CCFiniteTimeAction* tintActions = CCSequence::actions(tint1,tint2,tint3,NULL); CCRepeatForever* repeatTint = CCRepeatForever::actionWithAction((CCActionInterval*)tintActions); //5.闪烁 CCBlink* blink = CCBlink::actionWithDuration(5, 25); //6.动作(动画)结束后,调用某函数 CCFadeOut* fadeOut = CCFadeOut::actionWithDuration(0.8); CCCallFunc* endCall = CCCallFunc::actionWithTarget(starSprite, callfunc_selector(FlashingMeteors::removeFromParentAndCleanup)); CCFiniteTimeAction* acts = CCSequence::actions(fadeOut,endCall, NULL); starSprite->runAction(acts);