画实心圆 display.newSolidCircle

function MainScene:ctor()
    -- ui.newTTFLabel({text = "Hello, World1", size = 64, align = ui.TEXT_ALIGN_CENTER})
    --     :pos(display.cx, display.cy)
    --     :addTo(self)

    self.canvas = display.newDrawNode():addTo(self)
 
    -- draw a polygon
 
    self.canvas:drawPolygon({{100, 100}, {200, 200}, {150, 200}}, {fillColor = cc.c4f(1, 0, 0, 1), borderColor = cc.c4f(0, 1, 0, 1), borderWidth = 1})
 
    
    -- draw a circle
    display.newCircle(60, {
        x=200,
        y=200,
        color=cc.c4f(1, 0, 0, 1)}):addTo(self)

    print(">>>")

    -- display.newSolidCircle(radius, params):addTo(self)
    self.canvas:drawCircle(60, {
        x=500, 
        y=500}):addTo(self)
 
 
    self.canvas:drawDot(ccp(500, 100), 20, cc.c4f(0, 1, 1, 1))
 

end


```


 

为何不能画实心圆

是哪行报错啊。

display.newCircle(60, {
x=200,
y=200,
fill=true,
color=cc.c4f(1, 0, 0, 1)}):addTo(self)

错误提示说的很清楚了,你试图对一个userdata取length。

在DrawNodeEx的源码里面,取length的操作只在 drawPolygon 里面出现过一次。

function DrawNode:drawPolygon(points, params)
local segments = #points

```


从这个方向找吧。

谢谢,加参数 fill=true 是可以的

对 lua还不是很熟悉。

我直接调用
display.newSolidCircle(60, {
x=200,
y=200
}):addTo(self)
报的错。 不知道参数传的不对还是怎么的

这个版本的 newSolidCircle 已经比较老了,我会改一下提一个pr。

好的! 谢谢答复