movedOverPoints: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 4: Line 4:
|version=1.3.b75
|version=1.3.b75
|description=
|description=
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}} 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.


Returns a JSON array with coordinates of all cells that are
Returns a JSON array with coordinates of all cells in the token's path that overlap with the area defined by the given points.
* all or partially in the defined shape and
* were traversed by the token.  


Where each point is dependent on the grid type:
Where each coordinate pair returned is dependent on the grid type:
* Square:  Coordinates are the top-left corner.
* Square:  Coordinates are the top-left corner.
* Hex:  Coordinates are the center point of the cell.
* Hex:  Coordinates are the center point of the cell.
Line 17: Line 15:


|usage=
|usage=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
movedOverPoints(points)
movedOverPoints(points)
movedOverPoints(points,path)
movedOverPoints(points,path)
</source>
</syntaxhighlight>


'''Parameters'''
'''Parameters'''
Line 27: Line 25:


|example=
|example=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
<!-- lets define a shape -->
<!-- lets define a shape -->


Line 39: Line 37:
<!-- 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'''
'''With Second Parameter'''


<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[h: jsonArray = json.append("",
[h: jsonArray = json.append("",
     json.set("", "x", 250, "y", 250),
     json.set("", "x", 250, "y", 250),
Line 54: Line 52:
<br>
<br>
Moved Over: [r: movedOverPoints(jsonArray,lastPath)]
Moved Over: [r: movedOverPoints(jsonArray,lastPath)]
</source>
</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)]