movedOverPoints: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 19: Line 19:
<source lang="mtmacro" line>
<source lang="mtmacro" line>
movedOverPoints(points)
movedOverPoints(points)
movedOverPoints(points,path)
</source>
</source>


'''Parameters'''
'''Parameters'''
{{param|points|JSON array of cell coordinate X/Y pairs that defines a polygon}}
{{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=
|example=
Line 38: Line 40:
[r: movedOverPoints(jsonArray)]
[r: movedOverPoints(jsonArray)]
</source>
</source>
'''With Second Parameter'''
<source 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)]
</source>
}}
}}


[[Category:Miscellaneous Function]]
[[Category:Miscellaneous Function]]

Revision as of 02:49, 29 March 2019

 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 events macro.args.

Returns a JSON array with coordinates of all cells that are

  • all or partially in the defined shape and
  • were traversed by the token.

Where each point 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)]