Difference between revisions of "Shape"
m (Text replacement - "</source>" to "</syntaxhighlight>") |
|||
Line 8: | Line 8: | ||
The '''Shape''' class is used to create and display vector graphics. | The '''Shape''' class is used to create and display vector graphics. | ||
− | === | + | === Examples === |
'''Drawing a red square''' | '''Drawing a red square''' | ||
<syntaxhighlight lang="lua"> | <syntaxhighlight lang="lua"> | ||
Line 22: | Line 22: | ||
shape:setPosition(0, 150) | shape:setPosition(0, 150) | ||
stage:addChild(shape) | stage:addChild(shape) | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | '''Drawing a grid''' | ||
+ | <syntaxhighlight lang="lua"> | ||
+ | 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) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Latest revision as of 02:15, 25 December 2024
Supported platforms:
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)
MethodsShape.new creates a new Shape object |
EventsConstantsShape.EVEN_ODD |