轉自: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);
