Cocos2d-x学习笔记(十二)3D特效
生活随笔
收集整理的這篇文章主要介紹了
Cocos2d-x学习笔记(十二)3D特效
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
特效類即是GridAction類,其實就是基于網(wǎng)格的3D動作類。需開啟OpenGL的深度緩沖,否則容易3D失真。
下邊是一個snippet,創(chuàng)建網(wǎng)格對象,并將其添加到當前l(fā)ayer;同時,將進行3D特效的對象,添加到網(wǎng)格對象上。
gridNodeTarget = NodeGrid::create();addChild(gridNodeTarget);// add to current layer auto bg = Sprite::create("background.png");bg->setPosition(Vec2(visibleSize.width/2, visibleSize.height /2));gridNodeTarget->addChild(bg);sprite = Sprite::create("hero.png");sprite->setPosition(Vec2(visibleSize.width / 2, visibleSize.height / 2));gridNodeTarget->addChild(sprite); View Code下邊是3D特效類的使用,在此不再展示效果。
void MyAction::goMenu(Ref* pSender) { Size visibleSize = Director::getInstance()->getVisibleSize();log("Tag = %i",this->getTag());switch (this->getTag()) {case kFlipX3D:// X軸3D翻轉(zhuǎn),參數(shù)為持續(xù)時間gridNodeTarget->runAction(FlipX3D::create(3.0f));break;case kPageTurn3D:// 翻頁特效,第一個參數(shù)為持續(xù)時間,第二個參數(shù)為網(wǎng)格大小gridNodeTarget->runAction(PageTurn3D::create(3.0f, Size(15,10)));break;case kLens3D:// 凸透鏡特效,第一個參數(shù)為持續(xù)時間,第二參數(shù)為網(wǎng)格大小,第三個參數(shù)為透鏡中心,第四個參數(shù)為透鏡半徑gridNodeTarget->runAction(Lens3D::create(3.0f, Size(15,10),Vec2(visibleSize.width/2,visibleSize.height/2),240));break;case kShaky3D:// 晃動特效,第一個參數(shù)為持續(xù)參數(shù),的哥參數(shù)為網(wǎng)格大小,第三個參數(shù)為晃動范圍,第四個參數(shù)為Z軸晃動gridNodeTarget->runAction(Shaky3D::create(3.0f, Size(15,10),5,false));break;case kWaves3D:// 3D波動特效,第一個參數(shù)為持續(xù)時間,第二個參數(shù)為網(wǎng)格大小,第三個參數(shù)為波動次數(shù),第四個參數(shù)為振幅gridNodeTarget->runAction(Waves3D::create(3.0f, Size(15,10),5,40));break;case kJumpTiles3D:// 3D瓦片跳動特效,第一個參數(shù)為持續(xù)時間,第二個參數(shù)為網(wǎng)格大小,第三個參數(shù)為次數(shù),第四個參數(shù)為振幅gridNodeTarget->runAction(JumpTiles3D::create(3.0f,Size(15,10),2,30));break;case kShakyTiles3D:// 3D瓦片晃動特效,第一個參數(shù)為持續(xù)時間,第二個參數(shù)為網(wǎng)格大小,第三個參數(shù)為晃動范圍,第四個參數(shù)為是否伴有Z軸晃動gridNodeTarget->runAction(ShakyTiles3D::create(3.0f,Size(16,12),5,false));break;case kWavesTiles3D:// 3D瓦片波動特效,第一個參數(shù)為持續(xù)時間,第二個參數(shù)為網(wǎng)格大小,第三個參數(shù)為波動次數(shù),第四個參數(shù)為振幅gridNodeTarget->runAction(WavesTiles3D::create(3.0f,Size(15,10),4,120));break;} } View Code其實,3D效果無非是通過范圍控制將2D的效果變得更逼真,更接近現(xiàn)實世界。
轉(zhuǎn)載于:https://www.cnblogs.com/AmitX-moten/p/4217559.html
總結(jié)
以上是生活随笔為你收集整理的Cocos2d-x学习笔记(十二)3D特效的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计网笔记(6) 传输层
- 下一篇: 2021-01-19(学堂云)文献管理与