Book Image

AndEngine for Android Game Development Cookbook

By : JAYME SCHROEDER, Brian Boyles
Book Image

AndEngine for Android Game Development Cookbook

By: JAYME SCHROEDER, Brian Boyles

Overview of this book

AndEngine is a broad 2D game engine which allows game developers, both experienced and inexperienced, to develop games for the Android platform with ease. Don't be fooled by the simplicity, though. As easy as it is to “pick up and go,” AndEngine includes enough functionality to bring any type of 2D game world to life.The "AndEngine for Android Game Development Cookbook" contains all of the necessary information and examples in order to build the games as you imagine them. The book's recipes will walk you through the various aspects of game design with AndEngine and provides detailed instructions on how to achieve some of the most desirable effects for your games.The "AndEngine for Android Game Development Cookbook" begins with detailed information on some of the more useful structuring techniques in game design and general aspects of resource management. Continuing on, the book will begin to discuss AndEngine entities, including sprites, text, meshes, and more. Everything from positioning, to modifiers, and even tips on improving entity functionality with raw OpenGL capabilities. From here on, everything from applying physics to your game, working with multi-touch events and gestures, game optimization, and even an overview of the various AndEngine extensions will be covered.The book has a widerange of recipes, from saving and loading game data, applying parallax backgrounds to create a seemingly 3D world, relying on touch events to zoom the game camera, taking screen-shots of the device's screen, and performance optimization using object pools. If physics-based games are more interesting to you, there's also a list of recipes ranging from controlling the world forces and calculating forces applied to bodies, creating destructible objects, and even creating rag-dolls.Pong styled games were fun 35 years ago, but it is time to take your game to the next level with the AndEngine for Android Game Development Cookbook.
Table of Contents (18 chapters)
AndEngine for Android Game Development Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Menu classes


These classes are used only for the menus in the game.

LevelSelector.java

This class closely resembles the level selector found in Chapter 3, Designing Your Menu, but uses a series of LevelSelectorButton objects instead of sprites.

This class is based on the following recipes:

  • Understanding AndEngine entities in Chapter 2, Working with Entities

  • Bringing a scene to life with sprites in Chapter 2, Working with Entities

  • Creating our level selection system in Chapter 3, Designing Your Menu

LevelSelectorButton.java

The LevelSelectorButton class visually shows the player the state of a level, locked or unlocked, and the number of stars achieved if the level is unlocked.

This class is based on the following recipes:

  • Understanding AndEngine entities in Chapter 2, Working with Entities

  • Bringing a scene to life with sprites in Chapter 2, Working with Entities

  • Applying text to a layer in Chapter 2, Working with Entities

  • Overriding the onManagedUpdate method in Chapter 2, Working with Entities

  • Using modifiers and entity modifiers in Chapter 2, Working with Entities

MainMenu.java

The MainMenu class holds two Entity objects, one representing the title screen and one representing the level-select screen. The movement between the two screens is achieved using entity modifiers. During the first showing of the main menu, a loading screen is shown while the game's resources are being loaded.

The MainMenu class is based on the following recipes:

  • Understanding AndEngine entities in Chapter 2, Working with Entities

  • Bringing a scene to life with sprites in Chapter 2, Working with Entities

  • Overriding the onManagedUpdate method in Chapter 2, Working with Entities

  • Using modifiers and entity modifiers in Chapter 2, Working with Entities

  • Customizing managed scenes and layers in Chapter 5, Scene and Layer Management

ManagedMenuScene.java

This class is the same ManagedMenuScene class as presented in the Creating the scene manager recipe in Chapter 5, Scene and Layer Management.

ManagedSplashScreen.java

This class is based on the ManagedMenuScene class found in the Customizing managed scenes and layers recipe in Chapter 5, Scene and Layer Management. It adds code to unload Entity objects after the splash screen is hidden.

SplashScreens.java

The SplashScreen class uses entity modifiers and resolution-independent positioning to show the splash screens of the game. Each logo is clickable and starts an intent related to the logo.

This class is based on the following recipes:

  • Bringing a scene to life with sprites in Chapter 2, Working with Entities

  • Applying text to a layer in Chapter 2, Working with Entities

  • Using modifiers and entity modifiers in Chapter 2, Working with Entities

  • Customizing managed scenes and layers in Chapter 5, Scene and Layer Management

  • What are update handlers? in Chapter 7, Working with Update Handlers

Activity and Engine Classes

These classes act as the backbone of the game.

MagneTankActivity.java

This activity class builds upon the standard AndEngine BaseGameActivity class with the addition of ads, some advanced resolution-scaling performed in the onCreateEngineOptions() method, and shared preference methods to save and restore options and scores.

This class is based on the following recipes:

  • Know the life cycle in Chapter 1, AndEngine Game Structure

  • Choosing our engine type in Chapter 1, AndEngine Game Structure

  • Saving and loading game data in Chapter 1, AndEngine Game Structure

  • Setting up an activity to use the scene manager in Chapter 5, Scene and Layer Management

MagneTankSmoothCamera.java

This class extends the SmoothCamera object, but includes the ability to pan to the enemy base for a specified amount of time, as well as track the MagneTank object.

This class is based on the following recipes:

  • Introducing the camera object in Chapter 4, Working with Cameras

  • Creating smooth moves with a smooth camera in Chapter 4, Working with Cameras

  • What are update handlers? in Chapter 7, Working with Update Handlers

ManagedScene.java

This class is the same ManagedScene class as presented in the Creating the scene manager recipe in Chapter 5, Scene and Layer Management.

SwitchableFixedStepEngine.java

This Engine object acts exactly like a FixedStepEngine object when the EnableFixedStep() method has been called.

This class is based on the following recipes:

  • Choosing our engine type in Chapter 1, AndEngine Game Structure

  • What are update handlers? in Chapter 7, Working with Update Handlers