auto wSize = Director::getInstance()->getOpenGLView();
auto moveTo = MoveBy::create(1.0f,Vec2(30,0));
auto moveBack = moveTo->reverse();
auto ratateBy = RotateBy::create(1.0f,180);
auto fadeOut = FadeOut::create(2.0f);
auto scaleTo = ScaleTo::create(1.0,2.0);
auto action = Sequence::create(moveTo,moveBack,fadeOut,scaleTo,NULL);
Sprite* normalSprite1 = Sprite::create("animationbuttonnormal.png");
normalSprite1->setPosition(100,100);
normalSprite1->setCascadeColorEnabled(true);
normalSprite1->setCascadeOpacityEnabled(true);
//当setCascadeOpacityEnabled为true时,子Sprite设置Opacity的时候会参考父Sprite的Opacity值做处理;
//而设置父Sprite的Opacity值时,也同时会更新子Sprite的Opacity显示。起到了透明设置的传递作用。所以之前的每帧更新的代码就可以删掉了,省不少事。
//同理,还有个函数setCascadeColorEnabled相当于传递了颜色设置的作用.
normalSprite1->setColor(Color3B::GREEN);
this->addChild(normalSprite1);
normalSprite1->runAction((FiniteTimeAction*)action->clone());
ui::Scale9Sprite *normalSprite2 = ui::Scale9Sprite::create("animationbuttonnormal.png");
normalSprite2->setScale9Enabled(false);//是否启用九宫格显示模式
normalSprite2->setOpacity(100);
normalSprite1->addChild(normalSprite2);
auto action2 = action->clone();
ui::Scale9Sprite *sp1 = ui::Scale9Sprite::create("animationbuttonnormal.png");
sp1->setPosition(200, 260);
sp1->setScale(1.2f);
sp1->setContentSize(Size(100, 100));
sp1->setColor(Color3B::GREEN);
this->addChild(sp1);
sp1->runAction((FiniteTimeAction*)action2);
cocos2d::ui::Scale9Sprite *sp2 = ui::Scale9Sprite::create("animationbuttonnormal.png");
sp2->setPreferredSize(sp1->getContentSize() * 1.2f);
sp2->setColor(Color3B::GREEN);
sp2->setFlippedX(true);
sp2->setContentSize(Size(100, 100));
sp1->addChild(sp2);