quick-cocos2d-x之画多边形

画多边形使用的类为CCPolygonShape,创建一个CCPolygonShape对象时需要传入一个CCPointArray对象,注意,CCPointArray对象并不能用一个table来代替。以下是实现过程。

这里以画正六边形为例,首先要确定六个点,这六个点以一个中心点和半径来确定,函数如下:

function getHexagonPointArray(x, y, r)

local pointArray = CCPointArray:create(6)

local i

for i = 0, 6 do

     local angle = i * math.pi / 3

     local point = ccp(math.cos(angle) * r + x, math.sin(angle) * r + y)

     pointArray:add(point)

end

return pointArray

end

然后是画出这个正六边形:

local pointArray = getHexagonPointArray(x, y, 40)

local hexagon = CCPolygonShape:create(pointArray)

hexagon:setFill(true)

hexagon:setColor(ccc4f(r / 255, g / 255, b / 255, 1))

self:addChild(hexagon)

你可能感兴趣的:(quick-cocos2d-x之画多边形)