Ccs 中ImageView 怎么使用filter

filter 只支持CCFilteredSprite相关类,而ccs中要使某一个imageView支持filter就遇到问题了,ccs中的成员必须是Widget的派生的,难道要实现ccs中有filter就的自己再写一个CCFilteredImageView ? 还是用其他方法?

ccs的只有自己处理了

local sprite = display.newSprite(“xxx.png”, display.cx, display.cy)
local grayFilter = CCGrayFilter:create(0.2, 0.3, 0.5, 0.2)
sprite:setShaderProgram(grayFilter:getProgram())
self:addChild(sprite);
结果是一坨黑的, CCGrayFilter:create 的第4个参数无效

需要问一下Jacky,Filter是他提供的。我暂时还没有熟悉这一块的代码。在论坛上他叫zong。

看了下filter的实现发现{0.2, 0.3, 0.5, 0.2} 这些参数是在filter draw时才使用的

直接在ccs对应节点上addNode 一个灰色图就可以了 灰色图是通过 display.newGraySprite 创建的。