Problem Description
When friction is changed on an object at runtime, that change in friction is not reflected across current contacts. That means if you change friction of an object in contact with another physics object, that object will continue to resolve collisions with the current object using the old friction, until it leaves contact and touches again.
In this post:
I mentioned that, "...you also have to update contacts that are already occurring between the object being changed. Box2d stores the friction in the contact and does not regenerate that information on continued contacts." This is the case. In the behavior, friction is set, but contacts are not updated. I am not certain, but I believe not updating contacts when setting density, elasticity, etc, may also have unintended results, in the same way setting friction does.
I have enclosed a CAPX file, though you probably don't need it. Use A and D to control angular velocity. The object defaults to 0 friction so it shouldn't roll any where. If you press H the objects friction is set to 1. But it still won't go anywhere...
I am using, the latest version of construct (beta). Browsers affected and windows version is not applicable.