扑克游戏中,经常会用到一个特效:比完牌之后,需要回收扑克;扑克飞到指定的位置,并慢慢的消失。
主要用到的函数MoveTo()和FadeOut()。
下面是实现的代码:
//扑克牌回收效果
void LoginScene::recoveryCard()
{
//起始位置
Sprite* sp = static_cast<Sprite *>(this->csb->getChildByName("sp_card"));
sp->setVisible(false);
auto* spCard = Sprite::create("logon/2_1.png");
spCard->setPosition(sp->getPosition());
spCard->setScale(0.3);
addChild(spCard,1);
//目标位置
Sprite* spSrc = static_cast<Sprite *>(this->csb->getChildByName("Sprite_chip"));
spSrc->setVisible(false);
Vec2 vSrc = spSrc->getPosition();
MoveTo* mt = MoveTo::create(0.8f, vSrc);
FadeOut* fo = FadeOut::create(0.5f);
spCard->runAction(Sequence::create(DelayTime::create(0.01f), mt, fo, NULL));
}
效果如下图(因为不会做gif动图,只能截静态的图),有会的小伙伴可以在后面留言: