Say you have a bone with a bb. The bb is positioned relative to the bone, we'll say at 10,10. Now the bone rotates 45 degrees. The bb needs to rotate 45 degrees, but the origin of the rotation is the bone, which is 0,0 in bone's local coordinates.
My question was, when you rotate the body, around what point does the rotation occur (this is the origin). It looks like the position specified in setTransform is the origin for the rotation.
http://www.learn-cocos2d.com/api-ref/1. ... 9c706eca11
If that is true then it should be ok. You could check it by increasing the rotation each frame and see what point the bb spins around. π
It can be difficult since if you don't have things exactly right, you have them completely wrong. Try a simpler example. Create a skeleton with one bone that has a region attachment and a bb attachment. Set the bone's rotation to 0 and scale to 1,1. Run it in your app and make sure the bb is in the right place. Next, rotate the bone 30 degrees and see if it is in the right place. If it isn't, try to figure out why. Is it rotating the wrong way? Is it off by 90 degrees? Is it rotating around the wrong point?