movedOverPoints: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
mNo edit summary
No edit summary
 
(9 intermediate revisions by 2 users not shown)
Line 4: Line 4:
|version=1.3.b75
|version=1.3.b75
|description=
|description=
Is used to check if a token has moved through a shape that is defined by an array of cell coordinates (formatted like the one received from {{func|getLastPath}} or the {{code|onTokenMove}} events {{code|macro.args}}).  
Use to check if a token has moved through a shape that is defined by an array of pixel coordinates (formatted like the one received from {{func|getLastPath}} or the {{code|onTokenMove}} event.


{{code|movedOverPoints}} returns a JSON array with coordinates of all cells that have been a) in the defined shape and b) traversed by the token.
Returns a JSON array with coordinates of all cells in the token's path that overlap with the area defined by the given points.
 
Where each coordinate pair returned is dependent on the grid type:
* Square:  Coordinates are the top-left corner.
* Hex:  Coordinates are the center point of the cell.
* Isometric:  Coordinates are the right-most point of the cell.
* Gridless: Returns just the top-left corner of the token's ending location.


|usage=
|usage=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
movedOverPoints(points)
movedOverPoints(points,path)
</syntaxhighlight>
 
'''Parameters'''
{{param|points|JSON array of X/Y coordinate X/Y pairs that defines a polygon}}
{{param|path|JSON array of X/Y coordinate such as that returned by {{func|getLastPath}}}}
 
|example=
<syntaxhighlight lang="mtmacro" line>
<!-- lets define a shape -->
<!-- lets define a shape -->


Line 16: Line 32:
     json.set("", "x",  0, "y", 100),
     json.set("", "x",  0, "y", 100),
     json.set("", "x", 100, "y", 100),
     json.set("", "x", 100, "y", 100),
     json.set("", "x",  0, "y", 100)
     json.set("", "x",  100, "y", 0)
)]
)]
<!-- check if token in context has moved through that shape -->
<!-- check if token in context has moved through that shape -->
[r: movedOverPoints(jsonArray)]
[r: movedOverPoints(jsonArray)]
</source>
</syntaxhighlight>
 
'''With Second Parameter'''
 
<syntaxhighlight lang="mtmacro" line>
[h: jsonArray = json.append("",
    json.set("", "x", 250, "y", 250),
    json.set("", "x", 250, "y", 550),
    json.set("", "x", 550, "y", 550),
    json.set("", "x", 550, "y", 250)
)]
 
Last Path: [r: lastPath = getLastPath()]
<br>
Moved Over: [r: movedOverPoints(jsonArray,lastPath)]
</syntaxhighlight>
 
}}
}}
[[Category:Miscellaneous Function]]
[[Category:Miscellaneous Function]]

Latest revision as of 23:06, 14 March 2023

 This article is a stub, you can help the RPTools Wiki project by contributing content to expand this article.
 This article needs: lastPath-format specified, define/explain return value, examples

movedOverPoints() Function

Introduced in version 1.3.b75
Use to check if a token has moved through a shape that is defined by an array of pixel coordinates (formatted like the one received from getLastPath() or the onTokenMove event.

Returns a JSON array with coordinates of all cells in the token's path that overlap with the area defined by the given points.

Where each coordinate pair returned is dependent on the grid type:

  • Square: Coordinates are the top-left corner.
  • Hex: Coordinates are the center point of the cell.
  • Isometric: Coordinates are the right-most point of the cell.
  • Gridless: Returns just the top-left corner of the token's ending location.

Usage

movedOverPoints(points)
movedOverPoints(points,path)

Parameters

  • points - JSON array of X/Y coordinate X/Y pairs that defines a polygon
  • path - JSON array of X/Y coordinate such as that returned by getLastPath()

Example

<!-- lets define a shape -->

[h: jsonArray = json.append("",
    json.set("", "x",   0, "y",   0),
    json.set("", "x",   0, "y", 100),
    json.set("", "x", 100, "y", 100),
    json.set("", "x",   100, "y", 0)
)]

<!-- check if token in context has moved through that shape -->
[r: movedOverPoints(jsonArray)]

With Second Parameter

[h: jsonArray = json.append("",
    json.set("", "x", 250, "y", 250),
    json.set("", "x", 250, "y", 550),
    json.set("", "x", 550, "y", 550),
    json.set("", "x", 550, "y", 250)
)]

Last Path: [r: lastPath = getLastPath()]
<br>
Moved Over: [r: movedOverPoints(jsonArray,lastPath)]