# Namespace: Drag

## Phaser.Physics.Arcade.Components. Drag

Provides methods used for setting the drag properties of an Arcade Physics Body.

Since: 3.0.0
Source: src/physics/arcade/components/Drag.js (Line 7)

### Methods

#### setDamping(value)

If this Body is using `drag` for deceleration this function controls how the drag is applied. If set to `true` drag will use a damping effect rather than a linear approach. If you are creating a game where the Body moves freely at any angle (i.e. like the way the ship moves in the game Asteroids) then you will get a far smoother and more visually correct deceleration by using damping, avoiding the axis-drift that is prone with linear deceleration.

If you enable this property then you should use far smaller `drag` values than with linear, as they are used as a multiplier on the velocity. Values such as 0.95 will give a nice slow deceleration, where-as smaller values, such as 0.5 will stop an object almost immediately.

##### Parameters:
Name Type Description
`value` boolean

`true` to use damping for deceleration, or `false` to use linear deceleration.

Since: 3.10.0
Source: src/physics/arcade/components/Drag.js (Line 100)
##### Returns:

This Game Object.

Type
Phaser.Physics.Arcade.Components.Drag

#### setDrag(x [, y])

Sets the body's horizontal and vertical drag. If the vertical drag value is not provided, the vertical drag is set to the same value as the horizontal drag.

Drag can be considered as a form of deceleration that will return the velocity of a body back to zero over time. It is the absolute loss of velocity due to movement, in pixels per second squared. The x and y components are applied separately.

When `useDamping` is true, this is 1 minus the damping factor. A value of 1 means the Body loses no velocity. A value of 0.95 means the Body loses 5% of its velocity per step. A value of 0.5 means the Body loses 50% of its velocity per step.

Drag is applied only when `acceleration` is zero.

##### Parameters:
Name Type Argument Default Description
`x` number

The amount of horizontal drag to apply.

`y` number <optional>
x

The amount of vertical drag to apply.

Since: 3.0.0
Source: src/physics/arcade/components/Drag.js (Line 15)
##### Returns:

This Game Object.

Type
Phaser.Physics.Arcade.Components.Drag

#### setDragX(value)

Sets the body's horizontal drag.

Drag can be considered as a form of deceleration that will return the velocity of a body back to zero over time. It is the absolute loss of velocity due to movement, in pixels per second squared. The x and y components are applied separately.

When `useDamping` is true, this is 1 minus the damping factor. A value of 1 means the Body loses no velocity. A value of 0.95 means the Body loses 5% of its velocity per step. A value of 0.5 means the Body loses 50% of its velocity per step.

Drag is applied only when `acceleration` is zero.

##### Parameters:
Name Type Description
`value` number

The amount of horizontal drag to apply.

Since: 3.0.0
Source: src/physics/arcade/components/Drag.js (Line 44)
##### Returns:

This Game Object.

Type
Phaser.Physics.Arcade.Components.Drag

#### setDragY(value)

Sets the body's vertical drag.

Drag can be considered as a form of deceleration that will return the velocity of a body back to zero over time. It is the absolute loss of velocity due to movement, in pixels per second squared. The x and y components are applied separately.

When `useDamping` is true, this is 1 minus the damping factor. A value of 1 means the Body loses no velocity. A value of 0.95 means the Body loses 5% of its velocity per step. A value of 0.5 means the Body loses 50% of its velocity per step.

Drag is applied only when `acceleration` is zero.

##### Parameters:
Name Type Description
`value` number

The amount of vertical drag to apply.

Since: 3.0.0
Source: src/physics/arcade/components/Drag.js (Line 72)
##### Returns:

This Game Object.

Type
Phaser.Physics.Arcade.Components.Drag