# Class: Spring

## Phaser.Physics.P2. Spring

Physics Spring Constructor

#### new Spring(world, bodyA, bodyB, restLength, stiffness, damping, worldA, worldB, localA, localB)

  Creates a spring, connecting two bodies. A spring can have a resting length, a stiffness and damping.

  ##### Parameters:

  Name | Type | Argument | Default | Description
  --- | --- | --- | --- | ---
  `world` | Phaser.Physics.P2 |  |  | A reference to the P2 World.
  `bodyA` | p2.Body |  |  | First connected body.
  `bodyB` | p2.Body |  |  | Second connected body.
  `restLength` | number | <optional> | 1 | Rest length of the spring. A number > 0.
  `stiffness` | number | <optional> | 100 | Stiffness of the spring. A number >= 0.
  `damping` | number | <optional> | 1 | Damping of the spring. A number >= 0.
  `worldA` | Array | <optional> |  | Where to hook the spring to body A in world coordinates. This value is an array with 2 elements matching x and y, i.e: [32, 32].
  `worldB` | Array | <optional> |  | Where to hook the spring to body B in world coordinates. This value is an array with 2 elements matching x and y, i.e: [32, 32].
  `localA` | Array | <optional> |  | Where to hook the spring to body A in local body coordinates. This value is an array with 2 elements matching x and y, i.e: [32, 32].
  `localB` | Array | <optional> |  | Where to hook the spring to body B in local body coordinates. This value is an array with 2 elements matching x and y, i.e: [32, 32].

  Source:
    - physics/p2/Spring.js, line 24

### Members

#### game

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `game` | Phaser.Game | Local reference to game.

  Source:
    - physics/p2/Spring.js, line 29

#### world

  ##### Properties:

  Name | Type | Description
  --- | --- | ---
  `world` | Phaser.Physics.P2 | Local reference to P2 World.

  Source:
    - physics/p2/Spring.js, line 34