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

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

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.5, 0.3}},

    {"HUE", {90}},

    {"BRIGHTNESS", {0.3}},

    {"SATURATION", {0}},

    {"CONTRAST", {2}},

    {"EXPOSURE", {2}},

    {"GAMMA", {2}},

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

    --{"SEPIA", {}},

    -- blurs

    {"GAUSSIAN_VBLUR", {7}},

    {"GAUSSIAN_HBLUR", {7}},

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

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

    -- others

    {"SHARPEN", {1,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

·        mixed filename Assame a the first parameter for display.newSprite

·        mixed filters One 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.

·        table params A orsome parameters for Filter.

Returns

·        An instance of FilteredSprite

           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

这里写图片描述

猜你喜欢

转载自blog.csdn.net/ugghhj/article/details/84191298