Book Image

Learning AndEngine

By : Martin Varga
Book Image

Learning AndEngine

By: Martin Varga

Overview of this book

AndEngine is a very popular open source OpenGL (open graphics library) Android game engine, used to create mobile games quickly while maintaining the ability to fully customize them. This book will guide you through the whole development process of creating a mobile game for the Android platform using one of the most popular and easy-to-use game engines available today. Beginning with the very basics, you will learn how to install AndEngine, gather graphics, add sound and music assets, and design game rules. You will first design an example game and enhance it by adding various features over the course of the book. Each chapter adds more colors, enhances the game, and takes it to the next level. You will also learn how to work with Box2D, a popular 2D physics engine that forms an integral part of some of the most successful mobile games. By the end of the book, you will be able to create a complete, interactive, and fully featured mobile game for Android and publish it to Google Play.
Table of Contents (19 chapters)
Learning AndEngine
Credits
About the Author
Acknowledgments
About the Reviewers
www.PacktPub.com
Preface
Index

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...