Game Development Reference
In-Depth Information
};
@interface HelloWorldLayer : CCLayer
{
CCTexture2D* spriteTexture;
b2World* world;
GLESDebugDraw* debugDraw;
}
+(CCScene*) scene;
@end
It's fairly standard, except that it includes the Box2D.h header file and adds a member
variable of type b2World . This is the physics world—think of it as the container class
that will store and update all physics bodies.
The init method in Listing 12-2 calls initPhysics to set up the physics world.
I'll get to that next. The rest of the init code creates a CCSpriteBatchNode ,
keeps a reference to the sprite batch texture, and adds a label to the screen. Notice that
the dealloc method calls delete on the world and debugDraw instance variables.
Because these are C++ class instances, you have to release (delete) them manually.
ARC does not manage memory of C or C++ objects.
Listing 12-2. The HelloWorldLayer initialization
#import "HelloWorldLayer.h"
#import "PhysicsSprite.h"
@implementation HelloWorldLayer
+(CCScene*) scene
{
CCScene* scene = [CCScene node];
HelloWorldLayer* layer = [HelloWorldLayer node];
[scene addChild: layer];
return scene;
}
 
 
Search Nedrilad ::




Custom Search