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
About the Author
About the Reviewers

Adding physics

We are going to add a physics world to our game and set it up with gravity. We will also make a physics body for the player character and add platforms. Finally, we will make the character move based on the tilt of our Android device. The physics extension should be already included in your game project since Chapter 1, Setting Up an AndEngine Project.

First, we must remove the code that we added in Chapter 5, Basic Interactions, when we were learning about modifiers, because we don't want the entity to be controlled by touch or drag-and-drop. We want it to be controlled by physics and gravity.

The following code snippet shows how the relevant parts of the cleaned up version of the GameScene class should look. The populate() method will be limited only to this code.

public void populate() {
  engine.enableAccelerationSensor(activity, this);

The onAccelerationChanged() method should look like the following code...