游戏中,筹码下注的特效是经常用到的。效果是从某个指定的点,飞到某片指定的区域中,有时候还是多个筹码的移动。
主要是用到移动MoveTo和随机rand()。
下面上代码:
//筹码飞向某区域
void LoginScene::chipFly(int num)
{
//目标区域
Sprite* spDesc = static_cast<Sprite *>(this->csb->getChildByName("Sprite_quan"));
float fX = spDesc->getPosition().x;
float fY = spDesc->getPosition().y;
int iW = spDesc->getContentSize().width - 100;
int iH = spDesc->getContentSize().height - 100;
//起始
Sprite* spSrc = static_cast<Sprite *>(this->csb->getChildByName("Sprite_chip"));
spSrc->setVisible(false);
Vec2 vSrc = spSrc->getPosition();
for (int i = 0; i < num; i++)
{
auto* sp = CCSprite::create("logon/btn_bet_s1.png");
sp->setPosition(vSrc);
addChild(sp);
float _fX = fX - iW / 2 + (rand() % iW);
float _fY = fY - iH / 2 + (rand() % iH);
MoveTo* mt = MoveTo::create(1, Vec3(_fX, _fY, 0));
sp->runAction(Sequence::create(DelayTime::create(0.01f), mt, NULL));
}
}
后面是效果图,不知道怎么做gif的动图,只能截几张静态图。