Cocos2d-x-v3中3D网格特效动画的应用
2015-08-06 00:00
387 查看
摘要: cocos2d中除了常规的动作行为和丰富的转场特效外,还提供了3D网格特效动画这一功能。
创建波浪3D效果,参数含义为:执行时间,网格尺寸,波浪次数,波浪大小
static FlipX3D* create(float duration);
以x为轴进行翻转
static FlipY3D* create(float duration);
以y为轴进行翻转
static Lens3D* create(float duration, const Size& gridSize, const Vec2& position, float radius);
创建镜头的3D效果,参数为:执行时间,网格大小,镜头中心,镜头半径
static Ripple3D* create(float duration, const Size& gridSize, const Vec2& position, float radius, unsigned int waves, float amplitude);
创建波纹特效,参数为:执行时间,网格大小,波纹中心,波纹半径,波纹计数,振幅
static Shaky3D* create(float initWithDuration, const Size& gridSize, int range, bool shakeZ);
创建震动特效,参数为:执行时间,网格大小,震动范围,是否波动z轴
static Liquid* create(float duration, const Size& gridSize, unsigned int waves, float amplitude);
创建液体特效,参数为:执行时间,网格尺寸,流动次数,幅度
static Waves* create(float duration, const Size& gridSize, unsigned int waves, float amplitude, bool horizontal, bool vertical);
创建平面波纹特效,参数为:执行时间,网格尺寸,波纹次数,波纹振幅,开关横向波纹,开关纵向波纹
static Twirl* create(float duration, const Size& gridSize, Vec2 position, unsigned int twirls, float amplitude);
创建扭曲旋转的特效,参数为:执行时间,网格尺寸,扭曲旋转中心,旋转次数,旋转幅度
专注技术,热爱生活,交流技术,也做朋友。
——珲少 QQ群:203317592
Cocos2d-x-v3中3D网格特效动画的应用
一、网格特效的使用原理
基础的动作是对节点整体进行移动,变形等操作,网格特效的原理是将节点分割成多个尺寸相同的网格,根据改变每个网格块的属性使整体节点产生3D的效果。二、网格特效的基本用法
在cocos2d-x中,v3的版本新引入了一个类NodeGrid,专门用来包装网格的特效,示例如下://获取屏幕尺寸 Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); //加载精灵 auto sprite = Sprite::create("HelloWorld.png"); sprite->setPosition(Vec2(visibleSize.width/2+origin.x, visibleSize.height/2+origin.y)); //创建网格特效包装类 NodeGrid * nodeg = NodeGrid::create(); nodeg->setPosition(Vec2::ZERO); //添加播放特效的精灵 nodeg->addChild(sprite); this->addChild(nodeg); //参数的含义 分别是 执行时间,切分的网格大小,波浪次数,波浪大小 Waves3D * ani3d = Waves3D::create(2, Size(15, 15), 6, 4); //执行特效 nodeg->runAction(ani3d);
三、系统提供的网格特效
static Waves3D* create(float duration, const Size& gridSize, unsigned int waves, float amplitude);创建波浪3D效果,参数含义为:执行时间,网格尺寸,波浪次数,波浪大小
static FlipX3D* create(float duration);
以x为轴进行翻转
static FlipY3D* create(float duration);
以y为轴进行翻转
static Lens3D* create(float duration, const Size& gridSize, const Vec2& position, float radius);
创建镜头的3D效果,参数为:执行时间,网格大小,镜头中心,镜头半径
static Ripple3D* create(float duration, const Size& gridSize, const Vec2& position, float radius, unsigned int waves, float amplitude);
创建波纹特效,参数为:执行时间,网格大小,波纹中心,波纹半径,波纹计数,振幅
static Shaky3D* create(float initWithDuration, const Size& gridSize, int range, bool shakeZ);
创建震动特效,参数为:执行时间,网格大小,震动范围,是否波动z轴
static Liquid* create(float duration, const Size& gridSize, unsigned int waves, float amplitude);
创建液体特效,参数为:执行时间,网格尺寸,流动次数,幅度
static Waves* create(float duration, const Size& gridSize, unsigned int waves, float amplitude, bool horizontal, bool vertical);
创建平面波纹特效,参数为:执行时间,网格尺寸,波纹次数,波纹振幅,开关横向波纹,开关纵向波纹
static Twirl* create(float duration, const Size& gridSize, Vec2 position, unsigned int twirls, float amplitude);
创建扭曲旋转的特效,参数为:执行时间,网格尺寸,扭曲旋转中心,旋转次数,旋转幅度
专注技术,热爱生活,交流技术,也做朋友。
——珲少 QQ群:203317592
相关文章推荐
- javascript制作游戏开发碰撞检测的封装代码
- Unity3D游戏引擎实现在Android中打开WebView的实例
- Android游戏开发实践之人物移动地图的平滑滚动处理
- Android 游戏引擎libgdx 资源加载进度百分比显示案例分析
- 游戏服务器端开发要点
- cocos2dx 交叉编译 iconv库 protobuf库
- Cocos2d-x中PageView使用中的问题
- cmake clion 构建cocos2dx 应用程序并编译ios mac android
- 【笔记】试玩 cocos2d-x-3.0beta on android
- 16大跨平台游戏引擎
- 16大跨平台游戏引擎
- 开源游戏 “打飞机”
- 开源游戏 “Elvish Bird”
- 开源游戏“2048”IOS移植版
- 【v2.x OGE教程 15】布局相关
- 【v2.x OGE-example 第二节】 实体参数
- 【v2.x OGE-example 第三节 播放精灵动画】
- [游戏引擎]ForstBite2(寒霜)游戏引擎SDK下载