melonjs
    Preparing search index...

    Class Polygon

    a polygon Object.
    Please do note that melonJS implements a simple Axis-Aligned Boxes collision algorithm, which requires all polygons used for collision to be convex with all vertices defined with clockwise winding. A polygon is convex when all line segments connecting two points in the interior do not cross any edge of the polygon (which means that all angles are less than 180 degrees), as described here below :


    A polygon's `winding` is clockwise if its vertices (points) are declared turning to the right. The image above shows COUNTERCLOCKWISE winding.

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    edges: Vector2d[]

    The edges here are the direction of the nth edge of the polygon, relative to the nth point. If you want to draw a given edge from the edge value, you must first translate to the position of the starting point.

    indices: number[]

    a list of indices for all vertices composing this polygon

    points: Vector2d[]

    Array of points defining the Polygon
    Note: If you manually change points, you must call recalcafterwards so that the changes get applied correctly.

    origin point of the Polygon

    type: string = "Polygon"

    the shape type (used internally)

    Methods

    • Returns true if the polygon contains the given point.
      (Note: it is highly recommended to first do a hit test on the corresponding
      bounding rect, as the function can be highly consuming with complex shapes)

      Parameters

      • x: number

        x coordinate or a vector point to check

      • Optionaly: number

        y coordinate

      Returns boolean

      True if the polygon contain the point, otherwise false

      if (polygon.contains(10, 10)) {
      // do something
      }
      // or
      if (polygon.contains(myVector2d)) {
      // do something
      }
    • Returns true if the polygon contains the given point.
      (Note: it is highly recommended to first do a hit test on the corresponding
      bounding rect, as the function can be highly consuming with complex shapes)

      Parameters

      Returns boolean

      True if the polygon contain the point, otherwise false

      if (polygon.contains(10, 10)) {
      // do something
      }
      // or
      if (polygon.contains(myVector2d)) {
      // do something
      }
    • returns a list of indices for all triangles defined in this polygon

      Returns number[]

      an array of vertex indices for all triangles forming this polygon.

    • Returns true if the vertices composing this polygon form a convex shape (vertices must be in clockwise order).

      Returns boolean | null

      true if the vertices are convex, false if not, null if not computable

    • Scales the polygon by the given factors along the x and y axes.

      Parameters

      • x: number

        The factor by which to scale the polygon along the x-axis.

      • Optionaly: number = x

        The factor by which to scale the polygon along the y-axis. Defaults to the value of x.

      Returns Polygon

      Reference to this object for method chaining

    • Shifts the Polygon to the given position vector.

      Parameters

      • x: number

        The x coordinate or a vector point to shift to.

      • Optionaly: number

        The y coordinate. This parameter is required if the first parameter is a number.

      Returns void

      polygon.shift(10, 10);
      // or
      polygon.shift(myVector2d);
    • Shifts the Polygon to the given position vector.

      Parameters

      Returns void

      polygon.shift(10, 10);
      // or
      polygon.shift(myVector2d);
    • Translates the Polygon by the specified offset.

      Parameters

      • x: number

        The x offset or a vector point to translate by.

      • Optionaly: number

        The y offset. This parameter is required if the first parameter is a number.

      Returns Polygon

      Reference to this object for method chaining

      polygon.translate(10, 10);
      // or
      polygon.translate(myVector2d);
    • Translates the Polygon by the specified offset.

      Parameters

      Returns Polygon

      Reference to this object for method chaining

      polygon.translate(10, 10);
      // or
      polygon.translate(myVector2d);