Physics disable collision via pick error

  • Problem Description

    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

    [attachment=0:nfsr7853][/attachment:nfsr7853]

    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

    Observed 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.

    Expected Result

    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.

    Affected Browsers

    • Chrome: (YES)
    • FireFox: (YES)
    • Internet Explorer: (YES)

    Operating System and Service Pack

    W8.1 x64

    Construct 2 Version ID

    r195 x64

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • I can confirm this.

    But is it really a bug?

    It says it's a "Global setting"

    So i guess it simply counts for all instances, no matter what you're trying to pick.

    In your example... if you set the Y lower "higher in layout" than 220 (for example to 50)

    you will notice that collisions will be disabled for ALL 3 "Sprite"s.

    According to that i would guess it's working as intended.

    But if it's working as intended with the global setting.

    I would say that's quite a really strict action and rather useless.

  • Sorry, it's by design that the disable collisions feature applies to the whole object type, not specific instances. So this is not a bug.

  • Everade, Ashley - thanks for the re-education and apologies for the duff report.

Jump to:
Active Users
There are 1 visitors browsing this topic (0 users and 1 guests)