游戏标题掉落特效

前言:

打算在我博客里新增一个文章类别,主要赏析一些简单的2d游戏特效。会用gif或者视频演示, 主要用语言描述实现方式。知道语言实现后,读者再用游戏引擎里的一些简单API就很容易实现了。

 

 

1. 2d 批量掉落反弹特效

语言描述效果:每一个精灵从上面移动到下面的特定位置,然后接着跟一个反弹的效果。注意它们的移动速度不一样,这样才会有不同时间反弹的效果。反弹效果cocos2d引擎自己有实现叫easebounceout,其他没有实现的引擎就要自己写了。
cocos2d实现方式:每一个字是一个精灵。我建立了一个class 继承于Sprite,主要增加1个属性,一个终点位置。刚开始先把每一个精灵设置好。然后把它们加入到一个数组中。循环遍历每个精灵,执行move,EaseBounceOut Action.它们的移动速度不同,是一个在0.5和1之间的随机数。
const float moveMinAniTime = 0.5;
    const float moveMaxAniTime = 1.0;
    const float delayAniTime = 0.5;

    for(TitleSprite* eachSprite : titleSprites){
        auto moveAction = MoveTo::create(GameUtils::getRandomNumBetweenTwoNum(moveMinAniTime, moveMaxAniTime), eachSprite->getTargetPosition());
        auto easeAction = EaseBounceOut::create(moveAction->clone());
        auto seqAction = Sequence::create(DelayTime::create(delayAniTime), easeAction, NULL);
        eachSprite->runAction(seqAction);
    }

 

2. 3d 批量掉落反弹特效

 

3d实现起来会更加酷,这个是我在公交车上无意中看到的效果,非常不错,原理跟上面的2d类似,它还增加了一个”砸下去”的效果, 上下拉伸的效果很赞。

 

http://www.waitingfy.com/archives/1390

1390

Leave a Reply

Name and Email Address are required fields.
Your email will not be published or shared with third parties.