0

我有这个代码:

平台.窗口:无效()

function on.paint(gc)
    gc:setColorRGB(0,0,0)

    for i=1,8,1 do
        gc:fillArc(230,(i*30)-40,30,30,45,360-(i*60))
    end
end

如果您查看第一次迭代,其中 i=1,则应从 45° - 300° 逆时针绘制圆。这不是发生的事情。圆是从 45° 到 345° 绘制的,这显然是不可取的。

绘制其他圆圈时会发生其他一些奇怪的情况,这使得它们在绘制时看起来像翻转、镜像或类似的东西。可以通过在 fillArc() 的最后两个参数中输入不同的值来复制这种奇怪的情况。90 和 270 从 90 抽到 360。180 和 270 从 180 抽到 90。为什么会发生这种情况?

一个预期的输入和 2 个圆圈

https://imgur.com/a/Miww8

4

1 回答 1

1

我没有设备可以对此进行测试,但根据您的描述,“结束角度”参数似乎与“开始角度”相关,因此 90 和 270 将从 90 绘制到 90 +270。这不是我对文档的阅读——“弧线是从 startAngle 度开始绘制到 endAngle 结束。” - 但它可能可以解释为任何一种方式。

于 2018-01-31T04:47:32.623 回答