# Class: Camera

## Phaser. Camera

Phaser.Camera

#### new Camera(game, id, x, y, width, height)

  A Camera is your view into the game world. It has a position and size and renders only those objects within its field of view. The game automatically creates a single Stage sized camera on boot. Move the camera around the world with Phaser.Camera.x/y

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `game` | Phaser.Game | Game reference to the currently running game.
  `id` | number | Not being used at the moment, will be when Phaser supports multiple camera
  `x` | number | Position of the camera on the X axis
  `y` | number | Position of the camera on the Y axis
  `width` | number | The width of the view rectangle
  `height` | number | The height of the view rectangle

  Source:
    - core/Camera.js, line 20

### Members

#### <static, constant> FOLLOW_LOCKON :number

  ##### Type:

  - number
  Source:
    - core/Camera.js, line 105

#### <static, constant> FOLLOW_PLATFORMER :number

  ##### Type:

  - number
  Source:
    - core/Camera.js, line 111

#### <static, constant> FOLLOW_TOPDOWN :number

  ##### Type:

  - number
  Source:
    - core/Camera.js, line 117

#### <static, constant> FOLLOW_TOPDOWN_TIGHT :number

  ##### Type:

  - number
  Source:
    - core/Camera.js, line 123

#### atLimit

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `atLimit` | boolean | Whether this camera is flush with the World Bounds or not.

  Source:
    - core/Camera.js, line 74

#### bounds

  The Camera is bound to this Rectangle and cannot move outside of it. By default it is enabled and set to the size of the World. The Rectangle can be located anywhere in the world and updated as often as you like. If you don't wish the Camera to be bound at all then set this to null. The values can be anything and are in World coordinates, with 0,0 being the center of the world.

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `bounds` | Phaser.Rectangle | The Rectangle in which the Camera is bounded. Set to null to allow for movement anywhere.

  Source:
    - core/Camera.js, line 58

#### deadzone

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `deadzone` | Phaser.Rectangle | Moving inside this Rectangle will not cause camera moving.

  Source:
    - core/Camera.js, line 63

#### displayObject

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `displayObject` | PIXI.DisplayObject | The display object to which all game objects are added. Set by World.boot

  Source:
    - core/Camera.js, line 92

#### game

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `game` | Phaser.Game | A reference to the currently running Game.

  Source:
    - core/Camera.js, line 25

#### height

  The Cameras height. By default this is the same as the Game size and should not be adjusted for now.

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `height` | number | Gets or sets the cameras height.

  Source:
    - core/Camera.js, line 431

#### id

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `id` | number | Reserved for future multiple camera set-ups.

  Default Value:
    - 0
  Source:
    - core/Camera.js, line 36

#### scale

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `scale` | Phaser.Point | The scale of the display object to which all game objects are added. Set by World.boot

  Source:
    - core/Camera.js, line 97

#### screenView

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `screenView` | Phaser.Rectangle | Used by Sprites to work out Camera culling.

  Source:
    - core/Camera.js, line 50

#### target

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `target` | Phaser.Sprite | If the camera is tracking a Sprite, this is a reference to it, otherwise null.

  Default Value:
    - null
  Source:
    - core/Camera.js, line 80

#### view

  Camera view. The view into the world we wish to render (by default the game dimensions). The x/y values are in world coordinates, not screen coordinates, the width/height is how many pixels to render. Objects outside of this view are not rendered if set to camera cull.

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `view` | Phaser.Rectangle |

  Source:
    - core/Camera.js, line 45

#### visible

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `visible` | boolean | Whether this camera is visible or not.

  Default Value:
    - true
  Source:
    - core/Camera.js, line 69

#### width

  The Cameras width. By default this is the same as the Game size and should not be adjusted for now.

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `width` | number | Gets or sets the cameras width.

  Source:
    - core/Camera.js, line 414

#### world

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `world` | Phaser.World | A reference to the game world.

  Source:
    - core/Camera.js, line 30

#### x

  The Cameras x coordinate. This value is automatically clamped if it falls outside of the World bounds.

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `x` | number | Gets or sets the cameras x position.

  Source:
    - core/Camera.js, line 368

#### y

  The Cameras y coordinate. This value is automatically clamped if it falls outside of the World bounds.

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `y` | number | Gets or sets the cameras y position.

  Source:
    - core/Camera.js, line 391

### Methods

#### checkWorldBounds()

  Method called to ensure the camera doesn't venture outside of the game world.

  Source:
    - core/Camera.js, line 279

#### focusOn(displayObject)

  Move the camera focus on a display object instantly.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `displayObject` | any | The display object to focus the camera on. Must have visible x/y properties.

  Source:
    - core/Camera.js, line 181

#### focusOnXY(x, y)

  Move the camera focus on a location instantly.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `x` | number | X position.
  `y` | number | Y position.

  Source:
    - core/Camera.js, line 192

#### follow(target, style)

  Tells this camera which sprite to follow.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `target` | Phaser.Sprite | Phaser.Image | Phaser.Text |  | The object you want the camera to track. Set to null to not follow anything.
  `style` | number | <optional> | Leverage one of the existing "deadzone" presets. If you use a custom deadzone, ignore this parameter and manually specify the deadzone after calling follow().

  Source:
    - core/Camera.js, line 127

#### reset()

  Resets the camera back to 0,0 and un-follows any object it may have been tracking.

  Source:
    - core/Camera.js, line 351

#### setBoundsToWorld()

  Update the Camera bounds to match the game world.

  Source:
    - core/Camera.js, line 269

#### setPosition(x, y)

  A helper function to set both the X and Y properties of the camera at once without having to use game.camera.x and game.camera.y.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `x` | number | X position.
  `y` | number | Y position.

  Source:
    - core/Camera.js, line 317

#### setSize(width, height)

  Sets the size of the view rectangle given the width and height in parameters.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `width` | number | The desired width.
  `height` | number | The desired height.

  Source:
    - core/Camera.js, line 337

#### unfollow()

  Sets the Camera follow target to null, stopping it from following an object if it's doing so.

  Source:
    - core/Camera.js, line 170

#### update()

  Update focusing and scrolling.

  Source:
    - core/Camera.js, line 204