CCActionInterval* createEffect(int nIndex, float t)
{
CCDirector::sharedDirector()->setDepthTest(false);
switch(nIndex)
{
case 0: return Shaky3DDemo::create(t);
case 1: return Waves3DDemo::create(t);
case 2: return FlipX3DDemo::create(t);
case 3: return FlipY3DDemo::create(t);
case 4: return Lens3DDemo::create(t);
case 5: return Ripple3DDemo::create(t);
case 6: return LiquidDemo::create(t);
case 7: return WavesDemo::create(t);
case 8: return TwirlDemo::create(t);
case 9: return ShakyTiles3DDemo::create(t);
case 10: return ShatteredTiles3DDemo::create(t);
case 11: return ShuffleTilesDemo::create(t);
case 12: return FadeOutTRTilesDemo::create(t);
case 13: return FadeOutBLTilesDemo::create(t);
case 14: return FadeOutUpTilesDemo::create(t);
case 15: return FadeOutDownTilesDemo::create(t);
case 16: return TurnOffTilesDemo::create(t);
case 17: return WavesTiles3DDemo::create(t);
case 18: return JumpTiles3DDemo::create(t);
case 19: return SplitRowsDemo::create(t);
case 20: return SplitColsDemo::create(t);
case 21: return PageTurn3DDemo::create(t);
}
return NULL;
}
CCActionInterval* getAction()
{
CCActionInterval* pEffect = createEffect(actionIdx, 3);
return pEffect;
}
//创建一个新的节点
CCNode* node = CCNode::create();
CCActionInterval* effect = getAction();
//通过该节点执行动作
node->runAction(effect);
//将该节点添加进去
addChild(node, 0, kTagBackground);
CCSprite *bg = CCSprite::create(s_back3);
//将精灵添加到节点当中,这样添加进去的精灵也会随着结点一起动作
node->addChild(bg, 0);