When picking an instance of a physics object (by Pick by UID) and then disabling collision of that object with another physics object, a different instance also has its collision filtering incorrectly altered.
Attach a Capx
Description of Capx
There are a few instances of one sprite on screen - all immovable physics objects. There is also another circular 'wheel' object that falls and bounces on the immovable objects. When the wheel Y position exceeds a certain value, one instance of the immovable objects is picked by UID and its collision filter is altered to disable collisions with the wheel. To indicate when this happens and which instance has been picked, the immovable object changes animation frame.
If you select asm.js and then run in asm.js or box 2d then the problem is not apparent - you have to run this in box 2d without making any physics engine type selections....
Edit - it seems a bit more fragile than my first assumption here. Sometimes it works... sometimes it doesn't work... The asm.js might be a red herring...
Steps to Reproduce Bug
- Run the layout
- Observe the result
The vertical immovable object changes color to indicate that it has been picked for the collision filter change. However, after bouncing on a different instance of the immovable sprite object, the wheel then falls through the 'floor' - a third instance of the immovable sprite - even though it was not picked for collision filter change and it did not have its animation frame altered to indicate such a change.
The wheel should be able to collide with all instances of the immovable object that have not been picked by UID to have their collision filtering altered.
- Chrome: (YES)
- FireFox: (YES)
- Internet Explorer: (YES)
Operating System and Service Pack
Construct 2 Version ID