2014-01-09 4 views
0

У меня проблема с набором цветов в короне. В соответствии с параметром цвет должен быть установлен как градиент (если 0) или сплошной цвет. Но если я настроил его на градиент, я не смог бы установить его сплошной цвет. Вот часть кода:setFillColor с градиентом

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 
+0

«Я не мог установить его сплошной цвет после« Что вы подразумеваете под этим? –

+0

Знаете ли вы, что «цвет» принимает ненулевое значение? – Schollii

+0

После того, как я установил прямоугольник для заполнения градиентом, я не мог изменить его заполнение до простого цвета без градиента. Schollii: что ты имеешь в виду? Если я задаю цвет (0, 0, 0), он будет черным. Конечно, если он уже не настроен на градиент. – Lukis

ответ

1

Если я правильно понимаю, если объект заполняется градиентом, то вы никогда не сможете изменить его в обычный цвет. Это верно?

Если это так, то только другие цвета будут градиентом, но имеют цвет 1 и цвет 2 одинакового значения.

+0

Вы поняли это правильно. Этот метод работает, но это скорее обходное решение, чем решение. – Lukis

+0

Да, это всего лишь обходной путь. Похоже, вам, вероятно, понадобится файл с Corona, чтобы узнать, не могут ли они получить исправление. – Fernker

0

В CoronaSDK setFillColor() с градиентной структурой, как это делается:

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

setFillColor(gradient) 

Я думаю, что вы забыли параметр "направление".

+0

градиент работает хорошо (по умолчанию «вниз»), но покрытие его сплошным (неградиентным) цветом не работает – Lukis

Смежные вопросы