These archived docs are for Phaser 2.2.2 Phaser 3 docs can be found on newdocs.phaser.io.
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 378

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

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

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

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

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 247

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 297

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

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

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

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

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

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

#### circumference() → {number}

The circumference of the circle.

##### Returns
number -
Source code: geom/Circle.js, line 58

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

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

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

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

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

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

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

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

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

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

#### toString() → {string}

Returns a string representation of this object.

##### Returns
string -

a string representation of the instance.

Source code: geom/Circle.js, line 212