# Physical Movements Bouncing Ball Movement

The Physics - Bouncing Ball movement defines a bouncing object in the physical world. It is not very different in essence from the "Physics - Static" movement : it only has an initial direction and speed. Important: the object will only bounce on other objects if the elasticity property is set to a high value...

### Properties

• Movement
• Initial direction
Choose the direction at which the object will be created. If you select more than one direction, the final direction is chosen at random when the object is created.
• Initial speed
This property contains the speed of the object upon creation. The object is created in the Initial Direction with the chosen speed.
• Deceleration
This property contains the deceleration factor of the object. Use a value of 0, and your object will move forever. Use a value greater than 0 and it will slow down until it stops completely.
• Fixed angle
If this property is unchecked, the object will be able to rotate on itself while moving. The rotation depends on the collisions with the object. If checked, the angle of the object will be forced to the direction of the movement, and it will not be able to rotate on itself.

• Object
• Density
This property contains the density of the object, a number from 0 to 100. A dense object will be heavier, and therefore more difficult to move when colliding with other objects. The mass of the object is calculated by the engine from the surface of the object and from the density.
• Friction
This property defines how the object behaves when it is colliding with another object. A friction of 0 will make the object slide on the other object (like ice-skating). A friction of 100 will make it stop when it collides with another object (and will influence the other object).
• Elasticity
This property contains the elasticity factor of the object. Use a value of 0, and the object will stop as soon as it collides with another object. Use a value of 100, and the object will bounce, keeping the momentum of its movement. Intermediate values change the bouncing factor, and how the momentum is transfered while bouncing.
Please note that this property must be set to the maximum in order for the object to bounce on other objects. Even so, the speed of the object will slowly decrease and the object will finallly stop. You have to call a "Set speed" action to reset the speed of the object and re-launch it.
• Gravity scale
This property contains a percentage indicating how much of the physical world gravity must be applied to this object. A value 100 will apply the gravity as defined in the Physic Engine object. A value of 0 makes the object float in the air. A value of 200 will put a gravity twice as strong on the object, and thus make it fall faster.

• Joint
Clickteam Fusion 2.5 allows you to automatically create a joint linking your object to another. This allows you to create cars with moving wheels, animated skeleton-based characters, flippers etc.
• Type
This property indicates which kind of joint to create. It can take the following values :
• None
No joint is created, the object is independant from any attach. This is the default value.
• Revolute joint
A revolute joint is created: the object will spin around its axis, and will be firmly linked to the other object. If this option is selected, two new properties appear :
• Lower angle
Enter in this property the minimum angle of the joint, in degrees. If the two values are equal, the joint will have a fixed angle. If the lower value is higher than the upper angle, the joint will have no angle limits.
• Upper angle
Enter in this property the maximum angle of the joint, in degrees.
• Distance joint
A distance joint is created : the object will stay at a fixed distance from the parent object, and will swing on its axis. Two new properties appear if this option is selected :
• Frequency
Enter in this property the resonance frequency of the joint, in Hz (number of vibrations per seconds). If a force is applied to the joint, the axis will start to resonate at this frequency.
• Damping
Enter in this property a damping value from 0 to 100, that will stop the axis from resonating.
• Prismatic joint
The object will be linked to the parent object by an invisible piston, and will only move on its axis. Two new properties appear when you select this option :
• Lower limit
Enter in this property the minimal distance between the two objects, in pixels. If this value is equal to the upper limit, the object will not be able to move on its axis. If this value is higher than the upper limit, the joint will not be limited.
• Higher limit
Enter in this property the maximum distance between the two objects, in pixels. The joint will be limited between the lower and the higher values.
• Joint name
Enter in this property a unique name for the joint. You will be able to access this joint and set its parameters by using this name with the Physics - Engine Joint actions.
• Joint with
Enter in this property the name of the object to link with. If no object with that name exists in the frame, then the joint is not created. If several objects with the same name exist, Clickteam Fusion 2.5 will choose the closest object to create the joint.
• Anchor
Defines where the joint is created.
• From the hot-spot
The joint is created at the hot-spot of the two objects (or the current object only for revolute joints).
• From the action-point
The joint is created at the action-point of the two objects (or the current object only for revolute joints).

• Engine ID
This property is designed to be used if you drop more than one Physics - Engine object in your frame. Enter the Engine ID value of the engine you want to use for this movement.
• Collision shape
This property defines the collision shape of the object, as seen in this page.
• Auto-rotations
This property defines how the object should be displayed, as seen in this page.
• Smooth rotations
This option has an effect in Windows applications only. If you check this option the image rendering will be much better when the object is rotated. Note: if your application is in Standard Display mode (non Direct3D) use this option carefully as it takes more processing time in this mode.

### Actions

• Stop
Stops the object and also makes it bounce if the elasticity factor is not zero. If the stop action is called within a collision with another object, the other object will be pushed. If the action is called out of a collision context, the speed of the object is set to zero (but the gravity continues its action, and the object will start to fall again).
• Bounce
Stops the object and makes it bounce if the elasticity factor is not set to zero. If this action is called out of a collision-detection event, the object will simply reverse its speed and direction.
• Set gravity
This action allows you to set the local gravity factor of the object. It asks for a percentage of the world's gravity. A value of 0 and your object will float into the air, a value of 200 and your object will fall twice as fast on the floor.
• Set deceleration
Changes the deceleration factor of the object. Higher values will make the object stop faster.

• Physics
• Set elasticity
Changes the elasticity factor of the object. Use a value of 0 and your object will stop instantly when colliding with other objects. A value of 100 will make your object totally elastic : it will bounce when colliding with other objects or backgrounds.
• Set friction
Changes the friction parameter of the object. This value defines how the object behaves when it is colliding with another object. A friction of 0 will make the object slide on the other object (like ice-skating). A friction of 100 will make it stop when it collides with another object (and will influence the other object).
• Apply impulse
This action applies a brief force to the object in the given direction, resulting on the object moving in this direction, faster or slower depending on the object's mass. Parameters: strength of the force to apply, and direction in degrees.
• Apply angular impulse
This action applies a brief torque to the object, making it rotate in the given direction, faster or slower depending on the object's mass. You have to provide the torque, a value from -250 to 250, negative values making the objects turn clockwise.
• Apply force
This action applies a constant force to the object : once started, the force will be applied at every loop of the game, until a "stop force" action is executed. Parameters: strength of the force and its direction in degrees.
• Stop force
Stops a force that has been applied to the object. The object will continue to move at its current speed and direction.
• Apply torque
This action applies a constant torque to the the object, making it rotate faster and faster in that direction, until a "Stop torque" action is executed. Parameter: torque to apply, a value from -250 to 250, negative values making the object turn clockwise.
• Stop torque
Stops a torque that has been applied to the object. The object will continue turning at its current angular speed and direction.
• Set linear velocity
Sets the instant velocity of the object. The object will start moving in the given direction, whatever its mass, size or density. Parameters: speed of the movement, a value from 0 to 250, and direction in degrees.
• Set angular velocity
Sets the instant rotation speed and direction of the object. The object will start turning in the given direction, at the given speed, whatever its size, density or mass. Parameters: rotation speed, a value from -250 to 250, negative values making the object turn counter clockwise.