Corona SDK 的 setFillColor 函数无法正确混合颜色。

我只是一名 Corona SDK 的新用户,并且正在跟着一本书做一些练习。我尝试创建一个矩形并给它着色,但如果我放入 setFillColor(255,0,0)或将绿色或蓝色的值设为 255,它就能工作。问题是当我尝试混合颜色,如 setFillColor(100,129,93) 时,它只会绘制一个白色的矩形。

以下是我的 main.lua 代码:

rect_upperBackground = display.newRect(150, 150, 100, 50)
rect_upperBackground:setFillColor(49, 49, 49)
点赞
用户828255
用户828255

根据文档setFillColor需要颜色范围为[0,1],而不是[0,255]。所以你可以尝试这样做。

rect_upperBackground:setFillColor(100 / 255, 129 / 255, 93 / 255)
rect_upperBackground:setFillColor(0.4, 0.2, 0.5)
2013-11-20 01:31:51
用户2014635
用户2014635

object:setFillColor() 曾经使用 0-255 的值,但在最新的 SDK 中,他们将其更改为 0-1,以便能够处理更大的颜色值。(因为 0-1 比 0-255 更大,你懂的。)

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

你还需要注意 object:setReferencePoint() 因为它已被弃用。你现在需要使用 object.anchorXobject.anchorY (默认为对象的中心,因此如果您想要它,无需进行调整)。

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

这些变化是在 Corona SDK 的构建版本2013.2076 之后。

2013-11-20 03:55:36