I wanted to add the following:
The version of box2d web that comes with the behavior does not have resetfriction (which is expected, reset has to be used instead). I did a search of the ams.js file I found that it does have resetFriction burried in the garble up top. It is also supposed to be the most recent (2.2.1) version of box2d
In 2.2.1
Box2dBody.getContactList returns a box2dContactEdge object. Using that object you can call:
box2dContactEdge.contact.ResetFriction
In c++ it would look like this:
for ( Box2dContactEdge* contactEdge = body->getContactList();
contactEdge;
contactEdge = contactEdge->next();)
{
contactEdge->contact->ResetFriction();
}
Now, I am rubbish at jscript as a rarely use it, but I could not manage to get this working. (in the SetFriction action underneath this.fixture.SetFriction(f); this.Friction(f);
for (var contactEdge = this.body.GetContactList(); contactEdge; contactEdge.next();)
{
contactEdge.contact.ResetFriction();
}
I keep getting an error about cannot call property "ResetFriction()" of undefined. Are you having anyluck with it?
I thought maybe it has to be part of the contactListener cycle; its where people on the forums were putting it, but I read that doing it after the physics world step was fine. Well, anyway...