title: How to set the position of a sprite within a box2d body?
body: <p>Basically I have 2 polygons for my body. When I add a sprite for userData, the position of the texture isn't where I want it to be. What I want to do is adjust the position of the texture within the body. Here's the code sample of where I am setting this:</p>
  
  <pre><code>CCSpriteSheet *sheet = (CCSpriteSheet*) [self getChildByTag:kTagSpriteSheet];
  CCSprite *pigeonSprite = [CCSprite spriteWithSpriteSheet:sheet rect:CGRectMake(0,0,40,32)];
  [sheet addChild:pigeonSprite z:0 tag:kPigeonSprite];
  
  pigeonSprite.position = ccp( p.x, p.y);
  
  bodyDef.position.Set(p.x/PTM_RATIO, p.y/PTM_RATIO);
  bodyDef.userData = sprite;
  b2Body *body = world-&gt;CreateBody(&amp;bodyDef);
  
  b2CircleShape dynamicCircle;
  dynamicCircle.m_radius = .25f;
  dynamicCircle.m_p.Set(0.0f, 1.0f);
  
          // Define the dynamic body fixture.
  b2FixtureDef circleDef;
  circleDef.shape = &amp;dynamicCircle;   
  circleDef.density = 1.0f;
  circleDef.friction = 0.3f;
  
  body-&gt;CreateFixture(&amp;circleDef);
  
  b2Vec2 vertices[3];
  vertices[0].Set(-0.5f, 0.0f);
  vertices[1].Set(0.5f, 0.0f);
  vertices[2].Set(0.0f, 1.0f);
  b2PolygonShape triangle;
  triangle.Set(vertices, 3);
  
  b2FixtureDef triangleDef1;
  triangleDef1.shape = &amp;triangle; 
  triangleDef1.density = 1.0f;
  triangleDef1.friction = 0.3f;
  
  body-&gt;CreateFixture(&amp;triangleDef1);
  </code></pre>