之前在网上找过一次,但是用起来有些问题,抖动完位置有偏移,就自己修改了下,原文应该是在这里:
http://blog.csdn.net/qq634416025/article/details/8630189
感兴趣的同学可以去看一下,作者特意将抖动做成了CCAction,用起来十分方便,大谢!
效果图(GIF,画质压缩的有点狠,凑活着看吧!):
我把我修改过的版本放在了百度云盘上,下载地址:
http://pan.baidu.com/share/link?shareid=2640816246&uk=2685725110
使用时:
1.先将CCShake.h中的1
注释掉,改为下面这段话:1
2
USING_NS_CC;
2.用法:1
pSprite->runAction(CCShake::create(0.1f,10));
pSprite:想抖动的物体
第一个参数是:抖动的时间
第一个参数是:抖动的幅度
3.注意,这点曾经困扰了我好久!
一个CCNode同时执行多个CCShake动作,或者一个CCShake没有完又执行一个CCShake的话就会出现问题,会出现偏移的现象!
解决方案:
- 不要同时执行多个CCShake动作.
- 自己外部记录这个CCNode的位置,执行完成后手动setPosition();