These docs are for Phaser 2.4.2 Phaser 3 docs can be found on GitHub pages.
Phaser CE docs can be found on the Phaser CE Documentation site.

## 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 code: geom/Circle.js (Line 17)

### Public Properties

The area of this Circle.

Source code: 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 code: 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 code: 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 code: 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 code: geom/Circle.js (Line 304)

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 code: geom/Circle.js (Line 281)

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 code: 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 code: geom/Circle.js (Line 358)

The const type of this object.

Source code: geom/Circle.js (Line 54)

#### x : number

The x coordinate of the center of the circle.

Source code: geom/Circle.js (Line 26)

#### y : number

The y coordinate of the center of the circle.

Source code: geom/Circle.js (Line 31)

### Public 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

The Point object holding the result.

Source code: geom/Circle.js (Line 506)

#### <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 code: 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 code: 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 code: geom/Circle.js (Line 494)

#### <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 code: geom/Circle.js (Line 532)

#### circumference() → {number}

The circumference of the circle.

##### Returns
number -

The circumference of the circle.

Source code: 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

The Point object holding the result.

Source code: 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

The cloned Circle object.

Source code: 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 code: 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 code: 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 code: 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 code: geom/Circle.js (Line 156)

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

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

##### Returns

The bounds of the Circle.

Source code: 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 code: 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 code: 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

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

Source code: 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 code: geom/Circle.js (Line 109)

#### toString() → {string}

Returns a string representation of this object.

##### Returns
string -

a string representation of the instance.

Source code: geom/Circle.js (Line 245)