使用cocos2dx提供的动作类可以制作一些比较复杂的动画,比如让弹出的对话框抖动一下,初看起来挺难的,但其实有了cocos2dx提供的动作类,这个动作就是小菜一碟。
这样我们就会看到窗口弹出来的时候像是抖动了一下,其实实际上只是对话框先由scale值从0变为1.25,再由1.25变为正常大小1,这样就实现了对话框的抖动出现,哈哈,简单吧。
首先普及几个基本动作ScaleTo和ScaleBy,我之前的博文有介绍过这两个类,无非就是让cocos2dx的对象可以进行缩放,它们有两个参数,第一个参数是时间,第二个是scale值的大小。
那么我们接下来就用这两个动作其中任意一个来做一个窗口抖动呈现的效果。
AlertPassDlg* alertDlg = AlertPassDlg::create();
alertDlg->setScale(0);
CCDirector::sharedDirector()->getRunningScene()->addChild(alertDlg);
CCScaleTo* scaleTo = CCScaleTo::create(0.15, 1.25);
CCScaleTo* scaleTo2 = CCScaleTo::create(0.1, 1);
alertDlg->runAction(CCSequence::createWithTwoActions(scaleTo,scaleTo2));
这样我们就会看到窗口弹出来的时候像是抖动了一下,其实实际上只是对话框先由scale值从0变为1.25,再由1.25变为正常大小1,这样就实现了对话框的抖动出现,哈哈,简单吧。
以上的AlertPassDlg可以替换为其他的Layer或者Sprite等,只要继承在CCNode就可以运行该动画,也可以通过调整CCScaleTo的第一个参数来控制抖动的幅度,你可以自己设置一下试一试,怎么样,是不是爽爆啦,哈哈。
当然这种方案只是一种简单的方案,想实现真正的抖动效果那还需要读者仔细研究一下。