setFillColor with gradient

时间:2014-01-09 08:58:55

标签: lua corona

我在日冕中设置颜色有问题。根据参数,颜色应设置为渐变(如果为0)或纯色。但是,如果我将其设置为渐变,我无法将其设置为纯色。以下是代码的一部分:

local function fillColor(tile, color)
if color==0 then
    local g = { type="gradient", color1={ 0, 0, 0 }, color2={ 0, 1, 0 } }
    tile:setFillColor(g)
elseif color==1 then
    tile:setFillColor(0.1,0.1,0.1)
elseif color==2 then
    tile:setFillColor(0.5,0.5,0.5)
elseif color==3 then
    tile:setFillColor(0.75,0.75,0.75)
end

2 个答案:

答案 0 :(得分:1)

如果我正确理解对象是否被渐变填充,那么您永远无法将其更改为常规颜色。这是对的吗?

如果是这样,那么让其他颜色成为渐变,但color1和color2的值相同。

答案 1 :(得分:0)

在CoronaSDK中,带有渐变结构的setFillColor()完成如下:

local gradient = {
    type="gradient",
    color1={ 1, 1, 1 }, 
    color2={ 0.8, 0.8, 0.8 }, 
    direction="down"
}

setFillColor(gradient)

我想你忘记了“方向”参数。