Я хочу знать, есть ли у box2d b2BodyDef свойство massdata или к нему можно получить доступ каким-либо образом. Я не уверен, можно ли это сделать в Cocos2D, но я видел это во флэш-коде, который я пытаюсь повторно реализовать в cocos2d.
Вот код, который вызвал вопрос.
for ( var i:Number = 0; i < numSections - 1; i++ )
{
// One rope section body
ropeBodyDef.position.Set( 0, starBody.GetPosition().y - dY * i / numSections );
ropeBodyDef.massData.mass = 0.8 + 0.8 * i / numSections;
//ropeBody.
ropeBody = world.CreateBody( ropeBodyDef );
ropeBody.CreateShape( ropeShapeDef );
ropeSegments.push( ropeBody );
// One rope section joint
jointDef.Initialize( ropeStart, ropeBody, ropeStart.GetPosition(), ropeBody.GetPosition() );
joint = world.CreateJoint( jointDef ) as b2DistanceJoint;
joint.m_length = dY / numSections; // this is probably something bad, but I need it for the whole thing to work.
// update startpoint for next joint
ropeStart = ropeBody;
}
Может кто-нибудь, пожалуйста, помогите мне.