Book Image

Creating Games with cocos2d for iPhone 2

By : Paul Nygard
Book Image

Creating Games with cocos2d for iPhone 2

By: Paul Nygard

Overview of this book

Cocos2d for iPhone is a simple (but powerful) 2D framework that makes it easy to create games for the iPhone. There are thousands of games in the App Store already using cocos2d. Game development has never been this approachable and easy to get started. "Creating Games with cocos2d for iPhone 2" takes you through the entire process of designing and building nine complete games for the iPhone, iPod Touch, or iPad using cocos2d 2.0. The projects start simply and gradually increase in complexity, building on the lessons learned in previous chapters. Good design practices are emphasized throughout. From a simple match game to an endless runner, you will learn how to build a wide variety of game styles. You will learn how to implement animation, actions, create "artificial randomness", use the Box2D physics engine, create tile maps, and even use Bluetooth to play between two devices. "Creating games with cocos2d for iPhone 2" will take your game building skills to the next level.
Table of Contents (16 chapters)
Creating Games with cocos2d for iPhone 2
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

On to the game!


We start our game from the Cocos2D + Box2D template, so it has all the libraries we need. To prepare for this project, we still go through the same motions from the template, namely removing HelloWorldLayer.h/.mm, and changing the references in the IntroLayer.mm to our menu class. There are a couple of additional classes in the template, GLES-Render and PhysicsSprite. We will deal with them later. We also need to switch the supported orientation to portrait only, as we did in the previous chapter. (Don't forget to also remove the background rotation line in the IntroLayer.mm file.)

With a Box2D project, it is important to note that all our implementation classes will need names that end in .mm instead of .m. This tells the compiler that we will be using a mixture of Objective-C and C++. You must do this with Box2D, because Box2D is written in C++. So where do we start?

World building

We will start with building the Box2D world itself.

Filename: BRPlayfieldLayer.mm

-(void...