• Cocos2d-x学习笔记(二十二)之 网格动作


      网格动作类似于特效,可以实现翻转、抖动、震荡、水波纹等效果。Cocos2D-x中,网格类的基类CCGridBase有两个子类,即CCGrid3D和CCTiledGrid3D。这两个类的共同点是,网格的每个子块都可以分离出来,CCGridBase的继承关系如下:

      CCGrid3D、CCTiledGrid3D-->CCGridBase-->CCObject。

      网格没有什么直接应用的场合,只要明白CCGrid3D和CCTiledGrid3D,并且网格动作是基于网格的即可。运行网格动作的节点好像被分成了大小相同的很多矩形,通过这些矩形的动作形成整体动作,这些矩形就好像形成了一个矩阵。16x12的网格将会运行的非常快,但是效果并不是非常好。32x24的网格看起来非常棒,但是在有些时候运行起来不会太快。

      使用网格之前需要取消OpenGL的深度检测,调用如下语句:

    1 CCDirector::sharedDirector()->setDepthTest( false );

      网格动作的使用和普通动作一样,可以使用runAction来运行动作,具体的动作如下:

      CCShaky3D:格扭曲,create函数的参数是扭曲范围、是否扭曲z轴、格的大小、间隔时间。

      CCWaves3D:波浪式,create函数的参数是波浪数、振幅、格的大小、间隔时间。

      CCFlipX3D:x轴翻转,create函数的参数为时间。

      CCFlipY3D:y轴翻转,create函数的参数为时间。

      CCLens3D:放大镜,create函数的参数是中心点、半径、格的大小、时间。

      CCRipple3D:水波,create函数的参数是中心点、半径、波浪数、振幅、格的大小、时间。

      CCLiquid:流体效果,create函数的参数是波浪数、振幅、格的大小、时间。

      CCWaves:扭曲波浪,create函数的参数是波浪数、振幅、水平sin、竖直sin、格的大小、时间。

      CCTwirl:扭曲,create函数的参数是中心点、扭曲数、振幅、格的大小、时间。

      CCShakyTiles3D:水波,create函数的参数是范围、是否z轴、格的大小、时间。

      CCShatteredTiles3D:破碎歪曲,create函数的参数是范围、是否z轴、格的大小、时间。

      CCShuffleTiles:打散,参数是随机数种子、格的大小、时间。

      CCFadeOutTRTiles:顶右淡出,参数是格的大小、时间。

      CCFadeOutBLTiles:底左淡出,参数是格的大小、时间。

      CCFadeOutUpTiles:向上淡出,参数是格的大小、时间。

      CCFadeOutDownTiles:向下淡出,参数是格的大小、时间。

      CCTurnOffTiles:方块消失,参数是随机数种子、格的大小、时间。

      CCWavesTiles3D:方块波浪,参数是波浪数、振幅、分格的大小、间隔时间。

      CCJumpTiles3D:跳跃方块,参数是跳跃次数、振幅、分格的大小、间隔时间。

      CCSplitRows:切开行,参数是函数、时间。

      CCSplitCols:切开列,参数是函数、时间。

      CCPageTurn3D:翻页,参数是格的大小、时间。

      在使用网格时,网格动作结束后需要把网格清空,使用示例如下:

    1 //获得父节点
    2 CCNode* ss = getChildByTag( kTagBg );
    3 
    4 //检测父节点是否还有动作,如果没有并且网格不为空
    5 if(ss->numberOfRunningActions() == 0 && ss->getGrid() != NULL)
    6 {
    7     //调用setGrid函数并传入空参数(NULL)便可清空网格,使用schedule一直检测调用这段代码就可以实现清空无动作的节点网格。
    8     ss->setGrid( NULL );  
    9 }
  • 相关阅读:
    前端有关请求的相关内容axios
    有关浏览器异步请求数据的跨域问题
    Java环境的配置
    Css3中有关的 @media 媒体查询相关的知识
    Vue中实现异步加载的组件进行分割介绍
    Less的相关知识
    Vue框架中有关 computed的相关知识
    vue中如何在子组件添加类似于watch属性监听父组件数据,数据变化时子组件做出相应的动作
    JS的有关递归的知识点(数据无限级联的实现)
    JS中有关闭包的相关内容及介绍
  • 原文地址:https://www.cnblogs.com/atong/p/3284551.html
Copyright © 2020-2023  润新知