[BUG] Platform object floats in air

  • Problem Description

    Objects with platform behavior (A) hover if the object stood on (B) is solid and becomes non-solid IF the platform object (A) continues to overlap the object (B).

    Attach a Capx

    h*t*t*p*s*:*/*/*drive.google.com/file/d/0B8yJ9xARb1_JaGJ6V0k5Z3g0Q1E/view?usp=sharing

    Description of Capx

    Contents:

    A controllable (arrow keys) platform object (A).

    The floor.

    Object (B), it's solid state can be toggled with L and K. Round = Non Solid, rectangle = Solid.

    Steps to Reproduce Bug

    • Step 1 Stand on the object in its solid state.
    • Step 2 Flip the object into non-solid state.
    • Step 3 Object with platform behavior will stand on it despite it no longer being solid.

    Observed Result

    The platform behavior object (A) will be standing on nothing until it jumps or walks off of the edge of the object.

    Expected Result

    (A) should fall down.

    Affected Browsers

    • Chrome: (YES)
    • FireFox: (YES)
    • Internet Explorer: (N/A)

    Operating System and Service Pack

    Windows 10

    No known service pack

    Construct 2 Version ID

    Release 221

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I just tested with the Platform Plus behavior and it has that bug as well.

    I was trying some easy workaround but haven't found any.

  • Easy way around is to add another action to the one that disables solid that moves the player 1 pixel at angle 270.

  • Easy way around is to add another action to the one that disables solid that moves the player 1 pixel at angle 270.

    Just tried it. Didn't work for some reason.

  • You're right - I should have looked at your example rather than create my own :/

    Anyway, simple way around your issue - and I have tried and verified this with your example - is to just enable or disable collisions for sprite2 when the relevant key is pressed.

    So Events 1 and 2 just need a second action that sets the relevant sprite2 collision property - Enable for Event 1 and Disable for Event 2.

  • You're right - I should have looked at your example rather than create my own :/

    Anyway, simple way around your issue - and I have tried and verified this with your example - is to just enable or disable collisions for sprite2 when the relevant key is pressed.

    So Events 1 and 2 just need a second action that sets the relevant sprite2 collision property - Enable for Event 1 and Disable for Event 2.

    Thanks, works perfectly now

  • There are two problems here:

    1) there is a lot of complicated logic in the platform behavior to handle slopes, gravity angles, moving platforms etc. As part of handling this it remembers the object it is currently standing on. This means changing the solidness doesn't immediately take effect until you next jump.

    2) your example seems to teleport a large solid object over the player. I'm not sure what you expect the platform behavior to do in response, since it's physically unrealistic. So I don't think any weird behavior doing this should be treated as a bug.

    Anyway given both these facts I don't think we'll fix this - it's super complicated code to cover an unrealistic case, and there are workarounds (usually "nudging" the player makes it update the standing-on object again).

  • There are two problems here:

    1) there is a lot of complicated logic in the platform behavior to handle slopes, gravity angles, moving platforms etc. As part of handling this it remembers the object it is currently standing on. This means changing the solidness doesn't immediately take effect until you next jump.

    2) your example seems to teleport a large solid object over the player. I'm not sure what you expect the platform behavior to do in response, since it's physically unrealistic. So I don't think any weird behavior doing this should be treated as a bug.

    Anyway given both these facts I don't think we'll fix this - it's super complicated code to cover an unrealistic case, and there are workarounds (usually "nudging" the player makes it update the standing-on object again).

    I should explain the context of the issue being that it it meant to represent the platform being rotated on the x or y axis through the z axis. Basically its a platform that moves on the z axis which is fairly realistic and may occur in a majority of platforms that try to achieve false 3d.

    Also its worth mentioning that the player would be jumping off of a then background object which is rather implausible.

    Either way, nudging the player does not fix the issue until they are no longer overlapping the object.

    Furthermore the object is no longer solid when it changes frames.

    Still, I understand this is a fairly rare occurrence and therefor see why its not priority. However I would imagine its a fairly easy fix given that it just needs to update the colliding objects solid detection (then again I may have no idea what im talking about ).

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