To create my ball:
Code: Select all
cpBody *ballBody = cpBodyNew(100.0,INFINITY);
ballBody->p = cpv(160,300);
cpSpaceAddBody(space, ballBody);
ballShape = cpCircleShapeNew(ballBody, 10.0, cpv(1.0,4.0));
ballShape->e = 0.5; // Elasticity
ballShape->u = 1.0; //Friction
ballShape->collision_type = 1;
cpSpaceAddShape(space,ballShape);
Code: Select all
cpVect blockVerts[] = { cpv(blockOffsetX, blockOffsetY), cpv(blockOffsetX+blockWidth, blockOffsetY), cpv(blockOffsetX+blockWidth,blockOffsetY-blockHeight), cpv(blockOffsetX, blockOffsetY-blockHeight) };
cpShape *floorShape = cpPolyShapeNew(floorBody, 4, blockVerts, cpv(320.0f / 2, 81.0f / 2));
floorShape->collision_type=0;
floorShape->u = 0.5;
cpSpaceAddStaticShape(space, floorShape);
Code: Select all
cpBodyApplyImpulse(ballShape->body, cpv(walking*20,0.0), cpv(0.0,10.0));
cpSpaceStep(space, 1.0f/30.0f);
posX = ballShape->body->p.x; //The ball sprites position is set elsewhere, these are value for the enemy AI to use
posY = ballShape->body->p.y;
CGFloat radians = ballShape->body->a;
[ballSprite setRotation:radians*360/3.1415];