使用渐变设置 fillColor。

我在 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
点赞
用户756383
用户756383

如果我理解正确,如果对象被渐变填充,则永远无法将其更改为普通颜色。是这样吗?

如果是的话,那么只需将其他颜色设为渐变,但将color1和color2设为相同的值。

2014-01-10 18:49:21
用户3183373
用户3183373

在 CoronaSDK 中,使用渐变结构设置 setFillColor(),应该像这样做:

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

setFillColor(gradient)

我觉得你忘记了 "direction" 参数。

2014-01-10 20:41:20