(Sprite 毛玻璃 模糊 效果,cocos2dx lua 实现弹窗背景虚化)
项目中需要弹框提醒,但背景要求虚化
摆渡查了下资料都是一样,
下面是我使用的方法:
makScreenBlur(function ( outfile )
local sprite_photo = cc.FilteredSpriteWithMulti:create(outfile)
:align(display.CENTER, display.cx, display.cy)
:addTo(self,-1)
sprite_photo:setScale(750/display.widthInPixels)
sprite_photo:setFilters({cc.GaussianVBlurFilter:create(3),cc.GaussianHBlurFilter:create(3)})
end)
关键方法
function makScreenBlur(callb)
local fileName = "printScreen.png"
-- 移除纹理缓存
cc.Director:getInstance():getTextureCache():removeTextureForKey(fileName)
-- self:removeChildByTag(1000)
-- 截屏
cc.utils:captureScreen(function(succeed, outputFile)
if succeed then
if callb then
callb(outputFile)
end
-- local winSize = cc.Director:getInstance():getWinSize()
-- local sp = cc.Sprite:create(outputFile)
-- self:addChild(sp, 2, 1000)
-- sp:setPosition(winSize.width / 2, winSize.height / 2)
-- -- sp:setScale(0.5) -- 显示缩放
-- print(outputFile)
else
cc.showTextTips("截屏失败")
end
end, fileName)
end
参数博客:http://blog.youkuaiyun.com/liwenxin_at/article/details/50681325