模拟屏幕震动效果,使用cocos2d-x 3.x
2015-11-09 17:44
901 查看
void shakeNode(cocos2d::Node *node,float duration,float rate) { Vec2 pos = node->getPosition(); float tmp =0; float zs = node->getScale(); schedule([=](float dt) mutable { tmp += dt; if (tmp>=duration) { unschedule("updateShake"); node->setPosition(pos); node->setScale(zs); return ; } else { float z = (arc4random()%5+98) * 0.01f; CCLOG("z=%f",z); float x = arc4random() % 3 + 1; float y = arc4random() % 4 + 1; int r = arc4random() % 2; if (r>0) { x *= -1; r = arc4random() % 2; if (r>0) { y *= -1; } } node->setPosition(x,y); node->setScale(z); } } ,rate,"updateShake"); }
相关文章推荐
- Cocos2d-x中背景音乐和音效使用实例
- Cocos2d-x学习笔记之CCScene、CCLayer、CCSprite的默认坐标和默认锚点实验
- Cocos2d-x UI开发之CCControlPotentiometer控件类使用实例
- Cocos2d-x UI开发之文本类使用实例
- Cocos2d-x保存用户游戏数据之XML文件是否存在问题判断方法
- Cocos2d-x UI开发之菜单类使用实例
- Cocos2d-x UI开发之CCControlButton控件类实例
- Cocos2d-x学习笔记之世界坐标系、本地坐标系、opengl坐标系、屏幕坐标系
- Cocos2d-x UI开发之CCControlColourPicker控件类使用实例
- Cocos2d-x学习笔记之CCLayerColor层的使用实例
- Cocos2d-x Schedule定时器的使用实例
- Cocos2d-x中使用CCScrollView来实现关卡选择实例
- Cocos2d-x中CCEditBox文本输入框的使用实例
- cocos2d-x学习笔记之CCLayer、CCLayerColor、CCLayerGradient、CCLayerMultiplex场景层介绍
- Cocos2d-x UI开发之CCControlSlider控件类使用实例
- Cocos2d-x学习笔记之开发环境搭建
- Cocos2d-x学习笔记之Hello World!
- Cocos2d-x的内存管理总结
- Cocos2d-x 3.0中集成社交分享ShareSDK的详细步骤和常见问题解决
- Cocos2d-x入门教程(详细的实例和讲解)