Collisions
Collisions are an integral part of the physics engine. Algorithms used in Box2D are nicely optimized and we will take advantage of it. However, we will be adding and removing physics bodies during the game because it's usually a good idea to keep the number of bodies to a minimum. Even the best algorithms will take some time to calculate all collisions and too many bodies might mean a significant slowdown.
While adding bodies is usually easy and can be done without any problem, removing bodies must be done at a specific time and it is one of the most common culprits of strange crashes in games with physics.
Detecting collisions
Collisions are detected automatically by Box2D, and collision events are handled in a
contact listener. Here's an example of the simplest contact listener. Let's create a class called MyContactListener
in the is.kul.learningandengine.scene
package and let it implement the ContactListener
interface:
public class MyContactListener implements ContactListener...