Difference between revisions of "Path2D:setPath"

From GiderosMobile
Line 18: Line 18:
 
  Path2D:setPath(commands,coordinates,more coordinates)
 
  Path2D:setPath(commands,coordinates,more coordinates)
 
</source>
 
</source>
'''commands''': (string) list of commands as ML**Z expecting according coordinates ''''''<br/>
+
=== Parameters ===
'''coordinates''': (table or number) lua table with coordinates for each command, in the same order as commands ''''''<br/>
+
'''commands''': (string) list of commands as ML**Z expecting according coordinates <br/>
 +
'''coordinates''': (table or number) lua table with coordinates for each command, in the same order as commands <br/>
 
'''more coordinates''': (number) if second argument is not table, you can provide more coordinates as separate arguments '''optional'''<br/>
 
'''more coordinates''': (number) if second argument is not table, you can provide more coordinates as separate arguments '''optional'''<br/>
 +
=== Examples ===
 +
'''Drawing Moon'''<br/>
 +
<source lang="lua">--Moon
 +
local p=Path2D.new()
 +
local ms="MQQZ" --MoveTo, QuadTo, QuadTo, Close
 +
local mp={100,0, -50,100, 100,200, 20,100, 100,0 }
 +
p:setPath(ms,mp) --Set the path from a set of commands and coordinates
 +
p:setLineThickness(3) -- Outline width
 +
p:setFillColor(0xE0E0E0,0.7) --Fill color
 +
p:setLineColor(0xC0C0C0) --Line color
 +
p:setAnchorPosition(100,100)
 +
stage:addChild(p)</source>

Revision as of 11:45, 23 August 2018

Available since: Gideros 2016.04

Description

Set path to draw, using string with commands represented as:

  • M - MoveTo, 2 values (x,y)
  • L - LineTo, 2 values (x,y)
  • Q - QuadTo, 4 values (c0x,c0y,x,y)
  • C - CubicTo, 6 values (c0x,c0y,c1x,c1y,x,y)
  • H - Horzontal Line, 1 value (x)
  • V - Vertical Line, 1 value (y)
  • A - ArcTo, 7 values (r1,r2,angle,largeArc,sweep,x,y)
  • Z - Close, no parameter
  • * - repeat last command until all coordinates are exhausted

and provided coordinates as table or simply arguments

 Path2D:setPath(commands,coordinates,more coordinates)

Parameters

commands: (string) list of commands as ML**Z expecting according coordinates
coordinates: (table or number) lua table with coordinates for each command, in the same order as commands
more coordinates: (number) if second argument is not table, you can provide more coordinates as separate arguments optional

Examples

Drawing Moon

--Moon
local p=Path2D.new()
local ms="MQQZ" --MoveTo, QuadTo, QuadTo, Close
local mp={100,0, -50,100, 100,200, 20,100, 100,0 }
p:setPath(ms,mp) --Set the path from a set of commands and coordinates
p:setLineThickness(3) -- Outline width
p:setFillColor(0xE0E0E0,0.7) --Fill color
p:setLineColor(0xC0C0C0) --Line color
p:setAnchorPosition(100,100)
stage:addChild(p)