coco2d x 實現風雪飄動效果

2021-08-26 13:37:56 字數 844 閱讀 5278

專案中的天氣系統,需要用到風雪效果,這時模擬的風雪效果,在3d效果上,還有點不足,就是雪花的消失點應該按照雪花的縮放係數算出它該消失的位置。目前是用的在螢幕外面就從新移到原始位置。上個效果圖:

具體實現:

先定義幾個雪花飄的方向

//先定義幾個雪花的飄動方向

enum;

//初始化雪花

void

gtwind::showwind()

上面使用的schedule來每一幀待用改變雪花位置,以及每5秒隨機一次風向

現在隨即風向,並呼叫函式動態改變當前的風速

//改變風的方向

void

gtwind::changewind()

m_winddir=dir;

switch (m_winddir) }

這個我以前就寫過的,用於遊戲中動態改變量值的

//動態改變當前的風速

void

gtwind::updatawindvelocity()else

if(abs(addv)>2 &&abs(addv)<=10)else }

//重新整理所有的雪花

void

gtwind::updatawind(cctime dt) }

//得到所有雪花,改變位置

ccarray* allsprite=temspritebatchnode->getchildren();

ccobject* pobject = null;

ccarray_foreach(allsprite, pobject) }

}好了,基本效果就這樣了,可以改進的地方就是雪花的消失點,要根據每個雪花的縮放係數算出消失點,這樣才有3d的效果

coco2dx繪製到紋理

為了完成一些特效 比如,角色狂暴,但雙腳又被石化 有時需要使用gl es的的紋理緩衝 未整理 void mysprite mydraw const cocos2d mat4 transform glint viewport 4 glgetintegerv gl viewport,viewport g...

coco2d x怎樣建立project

不知道coco2d x從那個版本號開始用python建立project,一句話搞定,確實省去了好多麻煩。首先定位到coco2d x的資料夾到cocos2d x 2.2.3 cocos2d x 2.2.3 tools project creator。前提你要裝python軟體。python是一種物件導...

coco2d x核心類之CCSprite及其相關類

ccsprite 精靈類 是一張二維的物件,它可以用一張或者一張的一塊矩形部分來定義,ccsprite的繼承關係如下圖 貼圖類cctexture2d 是關於opengl 的概念。cctexture2d 類是精靈類和其相關類的基礎在opengl 中稱為貼圖,在cocos2d x 中cctexture2...