加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

quick-cocos2d-x 学习系列之九filter

发布时间:2020-12-14 20:33:06 所属栏目:百科 来源:网络整理
导读:quick-cocos2d-x 学习系列之九filter 一看这例子,就感觉适合做电影镜头之类的特效,那种模模糊糊的感觉。 主要定义了一个变量: MainScene ._FILTERS = { -- custom { "CUSTOM" }, -- {"CUSTOM",json.encode({frag ="Shaders/example_Flower.fsh", -- cente

quick-cocos2d-x 学习系列之九filter

一看这例子,就感觉适合做电影镜头之类的特效,那种模模糊糊的感觉。

主要定义了一个变量:

MainScene._FILTERS = {

-- custom

{"CUSTOM"},

-- {"CUSTOM",json.encode({frag ="Shaders/example_Flower.fsh",

-- center= {display.cx,display.cy},

-- resolution= {480,320}})},

{{"CUSTOM", "CUSTOM"},

{json.encode({frag = "Shaders/example_Blur.fsh",

shaderName = "blurShader",

resolution = {480,320},

blurRadius = 10,

sampleNum = 5}),

json.encode({frag = "Shaders/example_sepia.fsh",

shaderName = "sepiaShader",})}},

-- colors

{"GRAY",{0.2,0.3,0.5, 0.1}},

{"RGB",{1,0.3}},

{"HUE",{90}},

{"BRIGHTNESS",{0.3}},

{"SATURATION",{0}},

{"CONTRAST",{2}},

{"EXPOSURE",

{"GAMMA",

{"HAZE",{0.1,0.2}},

--{"SEPIA",{}},

-- blurs

{"GAUSSIAN_VBLUR",{7}},

{"GAUSSIAN_HBLUR",

{"ZOOM_BLUR",{4,0.7,0.7}},

{"MOTION_BLUR",{5,135}},

-- others

{"SHARPEN",1}},

{{"GRAY", "GAUSSIAN_VBLUR","GAUSSIAN_HBLUR"},{nil,{10},{10}}},

{{"BRIGHTNESS", "CONTRAST"},{{0.1},{4}}},

{{"HUE", "SATURATION","BRIGHTNESS"},{{240},{1.5},{-0.4}}},

}

包含了里面多个过滤实例。

1.ctor

构造函数调用如下函数

self:_addUI()

self:_createFilters()

self:_showFilter()

2._addUI

创建close按钮,创建向前、向后、重播按钮。

创建clear filter按钮,用于调用函数 _onClearFilter。

创建场景的title.

3._createFilters

设置变量如下:

self._curFilter = 1

self._filterCount = #self._FILTERS

curFilter变量时设置索引,filterCount变量时设置总数。

4._showFilter

该函数是本例子的核心。

先判断_filterSprite变量是否存在,存在则设置为nil.

然后通过_curFilter创建当前过滤镜。

通过newFilteredSprite创建带过滤的精灵。

最后创建一个TITLE。

5._onClearFilter

将精灵的滤镜删除。

self._filterSprite:clearFilter()

6.newFilteredSprite函数

display.newFilteredSprite()

display.newFilteredSprite(filename,filters,params)

Create a Filtered Sprite

Parameters

·mixedfilenameAssame a the first parameter for display.newSprite

·mixedfiltersOne ofthe following:

·A Filter name;

·More Filter names(in atable);

·An instance of Filter;

·Some instances of Filter(in atable);

·A Array inclueds someinstances of Filter.

·tableparamsA orsome parameters for Filter.

Returns

·An instance of FilteredSprite

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读