Type Function
Library display.*
Return value ShapeObject
Revision Current Public Release (2015.2646)
Keywords shape, polygon, vector
See also Shapes — Paths, Fills, Strokes (guide)
Display Objects (guide)


Draws a polygon shape by providing the outline (contour) of the shape. This includes convex or concave shapes. Self-intersecting shapes, however, are not supported and will result in undefined behavior.

The local origin is at the center of the polygon and the anchor point is initialized to this local origin.


display.newPolygon( x, y, vertices )
display.newPolygon( parent, x, y, vertices )
parent (optional)

GroupObject. An optional display group in which to insert the polygon.

x / y (required)

Numbers. The location of the object relative to its parent.

vertices (required)

Array. An array of x and y coordinates. These coordinates will automatically be re-centered about the center of the polygon.


If an invalid polygon is requested, for example a polygon with intersecting lines, it may not render properly. For correct results, specify valid polygon coordinates.


local halfW = display.contentWidth * 0.5
local halfH = display.contentHeight * 0.5

local vertices = { 0,-110, 27,-35, 105,-35, 43,16, 65,90, 0,45, -65,90, -43,15, -105,-35, -27,-35, }

local o = display.newPolygon( halfW, halfH, vertices )
o.fill = { type="image", filename="mountains.png" }
o.strokeWidth = 10
o:setStrokeColor( 1, 0, 0 )