Cocos2d-x3.2 Grid3D网格动作

转自 http://my.oschina.net/Jacedy/blog/301575?p=1

//GameScene.h
#include"cocos2d.h"
class GameScene: public cocos2d::Layer
{
:
static cocos2d::Scene*createScene();
virtual bool init();
void menuCallback(cocos2d::Ref*pSender);
CREATE_FUNC(GameScene);
};


//GameScene.cpp
#include"GameScene.h"
USING_NS_CC;
cocos2d::Scene*GameScene::createScene()
{
auto scene=Scene::create(); //创建一个场景
layer=GameScene::create(); //创建一个图层
scene->addChild(layer);
return scene;
}
//初始化当前的图层
GameScene::init()
{
if (!Layer::init()) //初始化父类
return false ;
//获取屏幕大小
visibleSize=Director::getInstance()->getVisibleSize();
size=Director::getInstance()->getWinSize();
//创建网格节点
nodegrid=NodeGrid::create();
sprite=Sprite::create( "OnePiece_1.png" );
sprite->setPosition(Vec2(visibleSize.width/2,visibleSize.height/2));
nodegrid->addChild(sprite); //这里注意是将精灵节点加到网格节点上
this ->addChild(nodegrid);
Director::getInstance()->setDepthTest( ); //使用网格之前需要取消OpenGL的深度测试
////翻页效果
//Director::getInstance()->setDepthTest(true);//开启深度检测
//autopageturn=PageTurn3D::create(2,Size(20,18));
//nodegrid->runAction(pageturn);
//
////震动效果
//autoshaky=Shaky3D::create(6,Size(2,1),5,false);
//nodegrid->runAction(shaky);
//
////翻转效果
//autoflipX=FlipX3D::create(2);
//autoreFlipX=flipX->reverse();
//autodelay=DelayTime::create(2);//延时2秒
//nodegrid->runAction(Sequence::create(flipX,delay,reFlipX,NULL));
//透镜效果
lens=Lens3D::create(5,Size(32,24),Vec2(size.width/2,size.height/2),300); //参数依次为:持续时间、网格大小、中心坐标、半径
nodegrid->runAction(lens);
////液体效果
//autoliquid=Liquid::create(3,Size(16,12),4,10);//参数依次为:持续时间、网格大小、波纹数、振幅
//nodegrid->runAction(liquid);
//
////波纹效果
//autoripple=Ripple3D::create(5,16),300,6,50);
//nodegrid->runAction(ripple);
//
////波浪效果
//autowave=Waves3D::create(5,Size(25,20),30);
//nodegrid->runAction(wave);
true ;
}

备注:1、使用网格之前需要取消OpenGL的深度测试,深度其实就是该象素点在3d世界中距离摄象机的距离,深度缓存中存储着每个象素点(绘制在屏幕上的)的深度值,深度测试决定了是否绘制较远的象素点(或较近的象素点),通常选用较近的,而较远优先能实现透视的果;

2、32*24的网格看起来会觉得更舒服。

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...