Corona SDK setFillColor在混合颜色时不着色

时间:2013-11-20 01:22:45

标签: lua corona

我只是Corona SDK的新用户,我正在学习一本书的练习。我尝试创建一个矩形并为其着色,但是如果我将setFillColor(255,0,0)或255放入绿色或蓝色就可以了。问题是,当我尝试混合像setFillColor(100,129,93)这样的颜色时,它只是描绘了一个白色矩形。

这是我的主要内容:

rect_upperBackground = display.newRect(150, 150, 100, 50)
rect_upperBackground:setFillColor(49, 49, 49)

2 个答案:

答案 0 :(得分:10)

根据documentationsetFillColor要求的颜色范围为[0, 1],而不是[0, 255]。例如,您可以尝试这样做。

rect_upperBackground:setFillColor(100 / 255, 129 / 255, 93 / 255)
rect_upperBackground:setFillColor(0.4, 0.2, 0.5)

答案 1 :(得分:3)

object:setFillColor()用于使用0-255的值,但在最新版本的SDK中,它们将其更改为0-1,以便它们可以处理更大的颜色值。 (因为0-1是一个比0-255更大的范围,你知道。)

这意味着在11月中旬之前创建的所有书籍,视频教程等都是错误的。

您还需要查看object:setReferencePoint(),因为已弃用。你现在需要使用object.anchorX和object.anchorY(默认为对象的中心,所以如果这是你想要的,不需要调整)。

这是一篇有人写的文章,解释了你需要注意的三个重大变化: http://www.develephant.net/3-things-you-need-to-know-about-corona-sdk-graphics-2-0/

这些更改与Corona SDK的2013.2076版本相同。