cocos2dx刮獎效果實現

2021-07-11 16:48:57 字數 2159 閱讀 1223

刮獎效果其實挺簡單的,需要用到rendertexture來進行渲染,通過你所要渲染的圖層,把該層的顏色進行設定混合就可以達到效果,具體看**,我用的lua實現的。

[cpp]view plain

copy

local winsize = cc.director:shareddirector():getwinsize();  

local datasprite = cc.sprite:create("star.png"

)--要把這個刮出來  

datasprite:setanchorpoint(cc.p(0.5, 0.5));  

datasprite:move(winsize.width / 2.0, winsize.height / 2.0);  

self:addchild(datasprite)  

pearse = cc.drawnode:create()  

pearse:drawdot(cc.p(0, 0), 5, cc.c4f(1, 0, 0, 1));  

pearse:retain()  

prtex = cc.rendertexture:create(winsize.width, winsize.height);  

prtex:setposition(cc.p(winsize.width / 2, winsize.height / 2));  

--this

:addchild(prtex);  

prtex:retain()  

local pbg = cc.sprite:create("d1.png"

);--這個作為當「油漆層」  

pbg:setanchorpoint(cc.p(0.5, 0.5));  

pbg:move(winsize.width / 2.0, winsize.height / 2.0);  

prtex:begin();  

datasprite:visit();  

pbg:visit();  

prtex:endtolua();  

local layer=cc.layer:create()  

self:addchild(layer, 1000)  

layer:addchild(prtex);  

layer:setnodetouch(handler(self, self.ontouchstart))  

滑鼠移動**:

[cpp]view plain

copy

function shop.erasure(event)  

-- body  

print("erasure: "

, event.name)  

--todo  

print("moved"

)  local touchpoint = event.pos  

pearse:setposition(event.pos.x, event.pos.y);  

-- 設定混合模式  

local blendfunc = ;  

pearse:setblendfunc(blendfunc);  

-- 將橡皮擦的畫素渲染到畫布上,與原來的畫素進行混合  

prtex:begin();  

pearse:visit();  

prtex:endtolua();  

end  

c++**:

void function()

bool

spriteeasebezier::ontouchbegan(touch *touch, event *unused_event)  

void

spriteeasebezier::ontouchmoved(touch *touch, event *unused_event)  

;  pease->setblendfunc(blendfunc);  

prender->begin();  

pease->visit();  

prender->end();  

cclog("spriteeasebezier::ontouchmoved"

);  

}  

Cocos2d x 溶解效果實現

專案需要實現溶解效果,記錄下基本實現 實現原理 隨著時間變化計算乙個闕值 如sin time 當取樣雜訊圖紋理的rgb中的某個值低於此闕值時,目標紋理的當前片段著色器呼叫discard函式,丟棄當前的片段並且終止著色器執行。精靈顯示的基本邏輯及片段著色器雜訊圖紋理的設定 頂點著色器 attribut...

Cocos2dx 流星效果實現

dionysoslai 906391500 qq.com 2014 8 28 對於用來襯托唯美的意境,與其天空中,點點一閃而過的流星,莫不是說最適合了。對於痴情兒女,私定終身就在這一刻良辰美景中了。今天,我等糙人就來 糟蹋 這乙個美好的事物。功能需求 1.實現流星效果。達到的效果與下圖一致 功能分析...

cocos2dx之粒子效果

有時候我們需要做一些特殊的效果,比如子彈 的效果,當然我們用動畫也可以做出來,但是有時候發現利用粒子的效果去代替它會跟好看,我們先來看下粒子 void particledemolayer initlayer ccparticleflower,繼承的ccparticlesystemquad的,在coc...