Shape

From GiderosMobile
Revision as of 02:15, 25 December 2024 by MoKaLux (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Supported platforms: Platform android.pngPlatform ios.pngPlatform mac.pngPlatform pc.pngPlatform html5.pngPlatform winrt.pngPlatform win32.png
Available since: Gideros 2011.6
Inherits from: Sprite

Description

The Shape class is used to create and display vector graphics.

Examples

Drawing a red square

local shape = Shape.new()
shape:setFillStyle(Shape.SOLID, 0xff0000, 1)
shape:beginPath()
shape:moveTo(0,0)
shape:lineTo(100, 0)
shape:lineTo(100, 100)
shape:lineTo(0, 100)
shape:lineTo(0, 0)
shape:endPath()
shape:setPosition(0, 150)
stage:addChild(shape)

Drawing a grid

application:setBackgroundColor(0xaaaaaa)

local g_tilesize = 256 -- 8
local grid = Sprite.new()
local steps = 16 -- 2
for i = 1, g_tilesize + 1, steps do
	local line = Shape.new()
	if i == 1 or i == g_tilesize + 1 then -- outside borders
		line:setLineStyle(1, 0x0000ff, 1)
	else
		line:setLineStyle(1, 0x0000ff, 0.25)
	end
	line:beginPath()
	line:moveTo(i - 1.5, -0.5)
	line:lineTo(i - 1.5, g_tilesize - 0.5)
	line:endPath()
	grid:addChild(line)
end
for i = 1, g_tilesize + 1, steps do
	local line = Shape.new()
	if i == 1 or i == g_tilesize + 1 then -- outside borders
		line:setLineStyle(1, 0x0000ff, 1)
	else
		line:setLineStyle(1, 0x0000ff, 0.25)
	end
	line:beginPath()
	line:moveTo(-0.5, i-1.5)
	line:lineTo(g_tilesize - 0.5, i-1.5)
	line:endPath()
	grid:addChild(line)
end

grid:setPosition(16, 16)
stage:addChild(grid)

Methods

Shape.new creates a new Shape object
Shape:beginPath resets the current path
Shape:clear clears the graphics that were drawn to this Shape object
Shape:closePath marks the current subpath as closed
Shape:endPath ends the current path
Shape:lineTo adds the given point to the current subpath, connected to the previous one by a straight line
Shape:moveTo creates a new subpath with the given point
Shape:setFillStyle sets the fill style that Shape object uses for subsequent drawings
Shape:setLineStyle sets the line style that Shape object uses for subsequent drawings

Events

Constants

Shape.EVEN_ODD
Shape.NONE
Shape.NON_ZERO
Shape.SOLID
Shape.TEXTURE