cocos2dx(8)

來源:互聯網
上載者:User
cocos2d-x初探學習筆記(8)--情境特效
2012-02-06 14:40:02     我來說兩句 
收藏    我要投稿   
[字型:小 大]

如何讓情境中的所有都受一個動作特效的影響呢?可以使用樹形結構,在情境中建立一個CCNode,然後將情境中會受特效影響的對象都掛在這個特效上就可以了,如下代碼就做到了這點

 

可以看到,所有的對象都掛在了node上面,另外還要注意當特效動作結束後,將情境恢複正常,可以用掛schedule的方式,即時監測,如下

 

如代碼中一樣,如果動作結束,那就恢複相應的狀態,將setGrid置空

Test中使用的特效如下

首先,使用ccg(x,y)建grid,一個Grid 屬性就好像一個矩陣,是一個網路的線,組成一系列的方塊和矩陣。 一個(16,12)大小的grid將會啟動並執行非常快,但是並不會看起來非常的好。(32,24)的將會看起來非常棒,但是在iphone1代中,運行起來不會太快 。任何一個螢幕的Frame都會改稱成一個Texture(FBO),這個紋理會轉換城一個頂點array,這個頂點座標array是通過grid的效果轉換來的。最後,這個頂點數組被顯示到螢幕上。

CCShaky3D::actionWithRange(5, true, ccg(15,10), t);//第一個參數是扭曲範圍,第二個參數是是否扭曲z軸,分格的大小,第四個參數是間隔時間

CCWaves3D::actionWithWaves(5, 40, ccg(20,10), t);//波浪式,5是波浪數,40是振幅

CCFlipX3D::actionWithDuration(t);//x軸翻轉

CCFlipY3D::actionWithDuration(t);//y軸翻轉

CCLens3D::actionWithPosition(CCPointMake(size.width/2,size.height/2), 240, ccg(15,10), t); //放大鏡,參數是中心點,半徑,格,時間

CCRipple3D::actionWithPosition(CCPointMake(size.width/2,size.height/2), 240, 4, 160, ccg(32,24), t);//水波 參數是中心點,半徑,波浪數,振幅,格,時間

CCLiquid::actionWithWaves(4, 20, ccg(16,12), t);//流體效果,波浪數,振幅,格,時間

CCWaves::actionWithWaves(4, 20, true, true, ccg(16,12), t);//扭曲波浪,波浪數,振幅,水平sin,豎直sin,格,時間

CCTwirl::actionWithPosition(CCPointMake(size.width/2, size.height/2), 1, 2.5f, ccg(12,8), t); //扭曲,中心點,扭曲數,振幅,格,時間

CCShakyTiles3D::actionWithRange(5, true, ccg(16,12), t) ;//水波,範圍,是否z軸,格,時間

CCShatteredTiles3D::actionWithRange(5, true, ccg(16,12), t);//破碎歪曲,範圍,是否z軸,格,時間

CCShuffleTiles::actionWithSeed(25, ccg(16,12), t);//打散

CCFadeOutTRTiles::actionWithSize(ccg(16,12), t);//頂右淡出

CCFadeOutBLTiles::actionWithSize(ccg(16,12), t);//底左淡出

CCFadeOutUpTiles::actionWithSize(ccg(16,12), t);//向上淡出

CCFadeOutDownTiles::actionWithSize(ccg(16,12), t);//向下淡出

CCTurnOffTiles::actionWithSeed(25, ccg(48,32) , t);//方塊消失

CCWavesTiles3D::actionWithWaves(4, 120, ccg(15,10), t);//方塊波浪

CCJumpTiles3D::actionWithJumps(2, 30, ccg(15,10), t);//跳躍方塊

CCSplitRows::actionWithRows(9, t);//切開行

CCSplitCols::actionWithCols(9, t);//切開列

CCPageTurn3D::actionWithSize(ccg(15,10), t);//翻頁

剛開始研究此引擎,如有錯誤之處,希望大家多多指正

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.