Difference between revisions of "Path2D"

From GiderosMobile
Line 5: Line 5:
 
'''<translate>Available since</translate>:''' Gideros 2016.04<br/>
 
'''<translate>Available since</translate>:''' Gideros 2016.04<br/>
 
'''<translate>Inherits from</translate>:''' [[Special:MyLanguage/Sprite|Sprite]]<br/>
 
'''<translate>Inherits from</translate>:''' [[Special:MyLanguage/Sprite|Sprite]]<br/>
 +
 
=== <translate>Description</translate> ===
 
=== <translate>Description</translate> ===
<translate>Draw quick 2D vector paths. This class aims at being a faster alternative to Shape for complex/curvy shapes.</translate>
+
Draw quick 2D vector paths. This class aims at being a faster alternative to Shape for complex/curvy shapes.
 +
 
 
=== <translate>Examples</translate> ===
 
=== <translate>Examples</translate> ===
'''Drawing Moon'''<br/>
+
'''Drawing a Moon'''
<source lang="lua">--Moon
+
<source lang="lua">
 +
--Moon
 
local p=Path2D.new()
 
local p=Path2D.new()
 
local ms="MQQZ" --MoveTo, QuadTo, QuadTo, Close
 
local ms="MQQZ" --MoveTo, QuadTo, QuadTo, Close
Line 19: Line 22:
 
p:setAnchorPosition(100,100)
 
p:setAnchorPosition(100,100)
 
p:setPosition(160,240)
 
p:setPosition(160,240)
stage:addChild(p)</source>
+
stage:addChild(p)
'''Drawing banana'''<br/>
+
</source>
<source lang="lua">--Banana shape, SVG path format
+
 
 +
'''Drawing a banana'''
 +
<source lang="lua">
 +
--Banana shape, SVG path format
 
local banana="M8.64,223.948c0,0,143.468,3.431,185.777-181.808c2.673-11.702-1.23-20.154,1.316-33.146h16.287c0,0-3.14,17.248,1.095,30.848c21.392,68.692-4.179,242.343-204.227,196.59L8.64,223.948z"
 
local banana="M8.64,223.948c0,0,143.468,3.431,185.777-181.808c2.673-11.702-1.23-20.154,1.316-33.146h16.287c0,0-3.14,17.248,1.095,30.848c21.392,68.692-4.179,242.343-204.227,196.59L8.64,223.948z"
 
p=Path2D.new()
 
p=Path2D.new()
Line 30: Line 36:
 
p:setAnchorPosition(100,100)
 
p:setAnchorPosition(100,100)
 
p:setPosition(160,240)
 
p:setPosition(160,240)
stage:addChild(p)</source>
+
stage:addChild(p)
 +
</source>
 +
 
 
{|-
 
{|-
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
Line 44: Line 52:
 
[[Special:MyLanguage/Path2D:setSvgPath|Path2D:setSvgPath]] ''<translate>set path with svg properties</translate>''<br/><!-- GIDEROSMTD:Path2D:setSvgPath(svg_params) set path with svg properties -->
 
[[Special:MyLanguage/Path2D:setSvgPath|Path2D:setSvgPath]] ''<translate>set path with svg properties</translate>''<br/><!-- GIDEROSMTD:Path2D:setSvgPath(svg_params) set path with svg properties -->
 
[[Special:MyLanguage/Path2D:setTexture|Path2D:setTexture]] ''<translate>sets texture for fill</translate>''<br/><!-- GIDEROSMTD:Path2D:setTexture(texture,matrix) sets texture for fill -->
 
[[Special:MyLanguage/Path2D:setTexture|Path2D:setTexture]] ''<translate>sets texture for fill</translate>''<br/><!-- GIDEROSMTD:Path2D:setTexture(texture,matrix) sets texture for fill -->
 +
 
| style="width: 50%; vertical-align:top;"|
 
| style="width: 50%; vertical-align:top;"|
 
 
=== <translate>Events</translate> ===
 
=== <translate>Events</translate> ===
 
=== <translate>Constants</translate> ===
 
=== <translate>Constants</translate> ===
 
|}
 
|}
 
{{Path2D}}
 

Revision as of 23:50, 9 December 2019


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

Description

Draw quick 2D vector paths. This class aims at being a faster alternative to Shape for complex/curvy shapes.

Examples

Drawing a 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)
p:setPosition(160,240)
stage:addChild(p)

Drawing a banana

--Banana shape, SVG path format
local banana="M8.64,223.948c0,0,143.468,3.431,185.777-181.808c2.673-11.702-1.23-20.154,1.316-33.146h16.287c0,0-3.14,17.248,1.095,30.848c21.392,68.692-4.179,242.343-204.227,196.59L8.64,223.948z"
p=Path2D.new()
p:setSvgPath(banana) --Set the path from a SVG path description
p:setLineThickness(5) -- Outline width
p:setFillColor(0xFFFF80,0.7) --Fill color
p:setLineColor(0x404000) --Line color
p:setAnchorPosition(100,100)
p:setPosition(160,240)
stage:addChild(p)

Methods

Path2D.new Creates Path2D object
Path2D:getPathPoints Compute location of points along the path.
Path2D:setConvex Flag the shape as convex.
Path2D:setFillColor Sets fill color
Path2D:setFontPath Sets the path from the outline of a TTFont character
Path2D:setLineColor Sets line color
Path2D:setLineThickness Set the thickness of the outline
Path2D:setPath set path to draw
Path2D:setSvgPath set path with svg properties
Path2D:setTexture sets texture for fill

Events

Constants