Phaser Class: Circle

## Phaser. Circle

#### new Circle(x, y, diameter)

  Creates a new Circle object with the center coordinate specified by the x and y parameters and the diameter specified by the diameter parameter.
  If you call this function without parameters, a circle with x, y, diameter and radius properties set to 0 is created.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `x` | number | <optional> | 0 | The x coordinate of the center of the circle.
  `y` | number | <optional> | 0 | The y coordinate of the center of the circle.
  `diameter` | number | <optional> | 0 | The diameter of the circle.

  Source - geom/Circle.js, line 17

### Members

#### <readonly> area :number

  The area of this Circle.

  Source - geom/Circle.js, line 412

#### bottom :number

  The sum of the y and radius properties. Changing the bottom property of a Circle object has no effect on the x and y properties, but does change the diameter. Gets or sets the bottom of the circle.

  Source - geom/Circle.js, line 385

#### diameter :number

  The largest distance between any two points on the circle. The same as the radius * 2. Gets or sets the diameter of the circle.

  Source - geom/Circle.js, line 258

#### empty :boolean

  Determines whether or not this Circle object is empty. Will return a value of true if the Circle objects diameter is less than or equal to 0; otherwise false.
  If set to true it will reset all of the Circle objects properties to 0. A Circle object is empty if its diameter is less than or equal to 0. Gets or sets the empty state of the circle.

  Source - geom/Circle.js, line 435

#### left

  The x coordinate of the leftmost point of the circle. Changing the left property of a Circle object has no effect on the x and y properties. However it does affect the diameter, whereas changing the x value does not affect the diameter property.

  Source - geom/Circle.js, line 304

#### radius :number

  The length of a line extending from the center of the circle to any point on the circle itself. The same as half the diameter. Gets or sets the radius of the circle.

  Source - geom/Circle.js, line 281

#### right :number

  The x coordinate of the rightmost point of the circle. Changing the right property of a Circle object has no effect on the x and y properties. However it does affect the diameter, whereas changing the x value does not affect the diameter property. Gets or sets the value of the rightmost point of the circle.

  Source - geom/Circle.js, line 331

#### top :number

  The sum of the y minus the radius property. Changing the top property of a Circle object has no effect on the x and y properties, but does change the diameter. Gets or sets the top of the circle.

  Source - geom/Circle.js, line 358

#### <readonly> type :number

  The const type of this object.

  Source - geom/Circle.js, line 54

#### x :number

  The x coordinate of the center of the circle.

  Source - geom/Circle.js, line 26

#### y :number

  The y coordinate of the center of the circle.

  Source - geom/Circle.js, line 31

### Methods

#### <static> circumferencePoint(a, angle, asDegrees, out) → {Phaser.Point}

  Returns a Point object containing the coordinates of a point on the circumference of the Circle based on the given angle.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `a` | Phaser.Circle |  |  | The first Circle object.
  `angle` | number |  |  | The angle in radians (unless asDegrees is true) to return the point from.
  `asDegrees` | boolean | <optional> | false | Is the given angle in radians (false) or degrees (true)?
  `out` | Phaser.Point | <optional> |  | An optional Point object to put the result in to. If none specified a new Point object will be created.

  ##### Returns:

  Phaser.Point -

  The Point object holding the result.

  Source - geom/Circle.js, line 510

#### <static> contains(a, x, y) → {boolean}

  Return true if the given x/y coordinates are within the Circle object.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `a` | Phaser.Circle | The Circle to be checked.
  `x` | number | The X value of the coordinate to test.
  `y` | number | The Y value of the coordinate to test.

  ##### Returns:

  boolean -

  True if the coordinates are within this circle, otherwise false.

  Source - geom/Circle.js, line 458

#### <static> equals(a, b) → {boolean}

  Determines whether the two Circle objects match. This method compares the x, y and diameter properties.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `a` | Phaser.Circle | The first Circle object.
  `b` | Phaser.Circle | The second Circle object.

  ##### Returns:

  boolean -

  A value of true if the object has exactly the same values for the x, y and diameter properties as this Circle object; otherwise false.

  Source - geom/Circle.js, line 483

#### <static> intersects(a, b) → {boolean}

  Determines whether the two Circle objects intersect.
  This method checks the radius distances between the two Circle objects to see if they intersect.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `a` | Phaser.Circle | The first Circle object.
  `b` | Phaser.Circle | The second Circle object.

  ##### Returns:

  boolean -

  A value of true if the specified object intersects with this Circle object; otherwise false.

  Source - geom/Circle.js, line 496

#### <static> intersectsRectangle(c, r) → {boolean}

  Checks if the given Circle and Rectangle objects intersect.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `c` | Phaser.Circle | The Circle object to test.
  `r` | Phaser.Rectangle | The Rectangle object to test.

  ##### Returns:

  boolean -

  True if the two objects intersect, otherwise false.

  Source - geom/Circle.js, line 536

#### circumference() → {number}

  The circumference of the circle.

  ##### Returns:

  number -

  The circumference of the circle.

  Source - geom/Circle.js, line 60

#### circumferencePoint(angle, asDegrees, out) → {Phaser.Point}

  Returns a Point object containing the coordinates of a point on the circumference of the Circle based on the given angle.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `angle` | number |  |  | The angle in radians (unless asDegrees is true) to return the point from.
  `asDegrees` | boolean | <optional> | false | Is the given angle in radians (false) or degrees (true)?
  `out` | Phaser.Point | <optional> |  | An optional Point object to put the result in to. If none specified a new Point object will be created.

  ##### Returns:

  Phaser.Point -

  The Point object holding the result.

  Source - geom/Circle.js, line 205

#### clone(output) → {Phaser.Circle}

  Returns a new Circle object with the same values for the x, y, width, and height properties as this Circle object.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `output` | Phaser.Circle | Optional Circle object. If given the values will be set into the object, otherwise a brand new Circle object will be created and returned.

  ##### Returns:

  Phaser.Circle -

  The cloned Circle object.

  Source - geom/Circle.js, line 171

#### contains(x, y) → {boolean}

  Return true if the given x/y coordinates are within this Circle object.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `x` | number | The X value of the coordinate to test.
  `y` | number | The Y value of the coordinate to test.

  ##### Returns:

  boolean -

  True if the coordinates are within this circle, otherwise false.

  Source - geom/Circle.js, line 192

#### copyFrom(source) → {Circle}

  Copies the x, y and diameter properties from any given object to this Circle.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `source` | any | The object to copy from.

  ##### Returns:

  Circle -

  This Circle object.

  Source - geom/Circle.js, line 128

#### copyTo(dest) → {object}

  Copies the x, y and diameter properties from this Circle to any given object.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `dest` | any | The object to copy to.

  ##### Returns:

  object -

  This dest object.

  Source - geom/Circle.js, line 140

#### distance(dest, round) → {number}

  Returns the distance from the center of the Circle object to the given object
  (can be Circle, Point or anything with x/y properties)

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `dest` | object |  |  | The target object. Must have visible x and y properties that represent the center of the object.
  `round` | boolean | <optional> | false | Round the distance to the nearest integer.

  ##### Returns:

  number -

  The distance between this Point object and the destination Point object.

  Source - geom/Circle.js, line 156

#### getBounds() → {Phaser.Rectangle}

  Returns the framing rectangle of the circle as a Phaser.Rectangle object.

  ##### Returns:

  Phaser.Rectangle -

  The bounds of the Circle.

  Source - geom/Circle.js, line 97

#### offset(dx, dy) → {Circle}

  Adjusts the location of the Circle object, as determined by its center coordinate, by the specified amounts.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `dx` | number | Moves the x value of the Circle object by this amount.
  `dy` | number | Moves the y value of the Circle object by this amount.

  ##### Returns:

  Circle -

  This Circle object.

  Source - geom/Circle.js, line 219

#### offsetPoint(point) → {Circle}

  Adjusts the location of the Circle object using a Point object as a parameter. This method is similar to the Circle.offset() method, except that it takes a Point object as a parameter.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `point` | Point | A Point object to use to offset this Circle object (or any valid object with exposed x and y properties).

  ##### Returns:

  Circle -

  This Circle object.

  Source - geom/Circle.js, line 235

#### random(out) → {Phaser.Point}

  Returns a uniformly distributed random point from anywhere within this Circle.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `out` | Phaser.Point | object | <optional> | A Phaser.Point, or any object with public x/y properties, that the values will be set in. If no object is provided a new Phaser.Point object will be created. In high performance areas avoid this by re-using an existing object.

  ##### Returns:

  Phaser.Point -

  An object containing the random point in its `x` and `y` properties.

  Source - geom/Circle.js, line 72

#### setTo(x, y, diameter) → {Circle}

  Sets the members of Circle to the specified values.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `x` | number | The x coordinate of the center of the circle.
  `y` | number | The y coordinate of the center of the circle.
  `diameter` | number | The diameter of the circle.

  ##### Returns:

  Circle -

  This circle object.

  Source - geom/Circle.js, line 109

#### toString() → {string}

  Returns a string representation of this object.

  ##### Returns:

  string -

  a string representation of the instance.

  Source - geom/Circle.js, line 245