Construct 2 has been officially retired. Now you should upgrade to Construct 3.

# Bullet behavior

The Bullet behavior simply moves an object forwards at an angle. However, it provides extra options like gravity and bouncing that allow it to also be used like a bouncing ball. Like the name suggests it is ideal for projectiles like bullets, but it is also useful for automatically controlling other types of objects like enemies which move forwards continuously.

For two examples of the Bullet behavior see the Bouncing balls and Bouncing bullets examples in the Start dialog.

## Bullet properties

Speed
The bullet's initial speed, in pixels per second.
Acceleration
The rate of acceleration for the bullet, in pixels per second per second. Zero will keep a constant speed, positive values accelerate, and negative values decelerate until a stop (the object will not go in to reverse).
Gravity
The force of gravity, which causes acceleration downwards, in pixels per second per second. Zero disables gravity which is useful for top-down games. Positive values cause a parabolic path as the bullet is bullet down by gravity.
Bounce off solids
If set to Yes, the bullet will bounce off any objects with the Solid behavior. It will also calculate the angle of reflection to bounce off realistically depending on the object's shape and angle.
Set angle
If set to No, the behavior will never change the object's angle. If set to Yes, the behavior always sets the object angle to the angle of motion.
Initial state
Whether the behavior is initially enabled or disabled. If disabled, it can be enabled at runtime using the Set enabled action.

## Bullet conditions

Compare speed
Compare the current speed of the bullet, in pixels per second.
Compare distance travelled
Compare the total distance the bullet has moved since creation, in pixels. This does not take in to account altering the object position with other actions like Set position.

## Bullet actions

Bounce off object
Make the bullet bounce off an object it has just touched. Since this requires the bullet have only just touched the object, it is generally only useful in an On collision event. It will also calculate the angle of reflection to bounce off realistically depending on the object's shape and angle. If the bullet is not currently overlapping the given object, or is stuck deep inside it, this action will have no effect.
Set acceleration
Set the bullet acceleration in pixels per second per second.
Set angle of motion
Set the angle the bullet is currently moving at, in degrees.
Set distance travelled
Simply changes the counter returned by the DistanceTravelled expression. The counter still increments according to the movement of the object.
Set enabled
Enable or disable the movement. If disabled, the behavior will stop moving the bullet, but will remember the current speed, acceleration etc. if enabled again.
Set gravity
Set the acceleration caused by gravity, in pixels per second per second.
Set speed
Set the bullet's current movement speed, in pixels per second.

## Bullet expressions

Acceleration
Get the bullet's current acceleration in pixels per second per second.
AngleOfMotion
Get the angle the bullet is currently moving at (which can be different to the object's angle), in degrees. Note: when the speed is 0, the angle of motion is also 0. Usually this can be worked around by setting the speed before the angle of motion.
DistanceTravelled
Return the total distance the bullet has moved since creation, in pixels. This does not take in to account altering the object position with other actions like Set position.
Gravity
Return the currently set gravity property, in pixels per second per second.
Speed
Get the bullet's current movement speed in pixels per second.
Construct 2 Manual 2020-06-09