Переход в Corona SDK - PullRequest
       2

Переход в Corona SDK

3 голосов
/ 08 декабря 2011

Как дать переход для смены цвета в короне SDK.

Я пытался так, но это не работает

transition.to (show_text, {time=1000,color="rgb(0,0,0)"});

Ответы [ 3 ]

2 голосов
/ 10 августа 2012

Следующий трюк работает.К сожалению, он не допускает очень сложных манипуляций с цветом без использования нескольких переходов:

local function modify(text)
    local mt = {
        r = 0,
        g = 0,
        b = 0,
        __index = function(t, k)
            if k == "r" or k == "g" or k == "b" then
                return getmetatable(t)[k]
            end
        end,
        __newindex = function(t, k, v)
            getmetatable(t)[k] = v
            if k == "r" or k == "g" or k == "b" then
                t:setTextColor(math.round(t.r or 0), math.round(t.g or 0), math.round(t.b or 0))
            end
        end
    }
    local originalSetTextColor = text.setTextColor
    text.setTextColor = function(self,r,g,b)
        mt.r = r
        mt.g = g
        mt.b = b
        originalSetTextColor(self, r,g,b)
    end
    setmetatable(text, mt)

end

local show_text = display.newEmbossedText("I am the very model of a modern major general", display.screenOriginX,0, native.systemFont, 30);
modify(show_text)
show_text:setTextColor(255,0,255)

transition.to (show_text, {time=1000,r=0,})
transition.to (show_text, {time=1000,g=255})
transition.to (show_text, {time=1000,b=0})
0 голосов
/ 10 апреля 2013

вот ссылка используйте это, он отлично работает http://developer.coronalabs.com/code/color-transition-wrapper

0 голосов
/ 18 декабря 2011

Цвет не поддерживается в API перехода Corona в настоящее время. Вы можете попробовать использовать ...

show_text:setTextColor( red, green, blue )

... внутри цикла и просто рисуйте и стирайте текстовый объект при изменении значений цвета.

...