Cocos2d is a popular 2d framework for developing iphone games, including physics and particle support. Here’s a quick introduction to getting cocos2d for the iphone up and running for your next project.
Download the latest source from:
http://code.google.com/p/cocos2d-iphone/downloads/list
I recommend you stick with the stable releases, unless there is a specific feature your require from a new version.
Unzip the folder and the template installation script:
$ ./install_template.sh
This will make a series of cocos-2d templates available from XCode. Launch/restart xcode and choose File->New Project->cocos2d Application build and run the new application in the simulator and it should look something like this:
Were going to build on this template to add a main menu
First download the test image and add it to the new xcode project (Make sure it is copied into the application directory)
Create a new class name MenuScene and add the following code to the header file:
#import
#import "cocos2d.h"
@interface MenuScene : Scene
{
}
@end
@interface MenuLayer : Layer
{
}
-(void)startGame: (id)sender;
-(void)help: (id)sender;
@end
The add the following to the .m file:
#import "MenuScene"
@implementation MenuScene
- (id) init
{
self = [super init];
if (self != nil) {
Sprite * bg = [Sprite spriteWithFile:@"MainMenuBackground.png"];
[bg setPosition:ccp(160, 240)];
[self addChild:bg z:0];
[self addChild:[MenuLayer node] z:1];
}
return self;
}
@end
@implementation MenuLayer
- (id) init
{
self = [super init];
if (self != nil)
{
[MenuItemFont setFontSize:24];
[MenuItemFont setFontName:@"Helvetica"];
MenuItem *start = [MenuItemFont itemFromString:@"Start Game"
target:self
selector:@selector(startGame:)];
MenuItem *help = [MenuItemFont itemFromString:@"Help"
target:self
selector:@selector(help:)];
Menu *menu = [Menu menuWithItems:start, help, nil];
menu.color = ccc3(0, 0, 0);
[menu alignItemsVertically];
[self addChild:menu];
}
return self;
}
-(void)startGame: (id)sender
{
NSLog(@"start game");
}
-(void)help: (id)sender {
NSLog(@"help");
}
@end
Finally modify the app delegate (CocosTestAppDelegate.m) to include MenuScene.h
#import "MainMenuScene.h"
and replace the line:
[[Director sharedDirector] runWithScene: [HelloWorld scene]];
with:
[[Director sharedDirector] runWithScene: [MenuScene node]];
also remove the line:
[[Director sharedDirector] setDeviceOrientation:CCDeviceOrientationLandscapeLeft];
Compile and run the project and you should end up with a menu and two clickable buttons:


