Wrong Hovering Behavior Using Families

  • Problem Description

    Using the mouse plugin condition Cursor is over... with a family selected as the object.

    There is a noticeable strange behavior where sometimes multiple sprites from the family get picked,

    even though none of them are currently hovered over. (Screenshot | The pink marker is my mouse pointer)

    Attach a Capx

    Download the capx there.

    Description of Capx

    Includes both, the "expected behavior" where all conditions are split up and

    the "bugged behavior" where the detection using a family is acting weird.

    Steps to Reproduce Bug

    • Open the capx and enter the preview with any browser
    • Slowly hover from left to right and stop over a sprite (might take some tries )
    • Notice that multiple sprites are picked

    Observed Result

    Multiple sprites are registered even though the mouse is currently not hovering over those.

    Expected Result

    Using the "Cursor is over..." condition with a family should pick the correct sprites just

    like the "expected behavior" method does.

    Affected Browsers

    • All Browsers are affected

    Operating System and Service Pack

    Windows 7 with latest updates and up to date drivers.

    Construct 2 Version ID

    Newest release r240 Steam release. [Personal Edition]

  • Closing as not a bug: you're expecting 'else' to pick instances, but it does not. 'Else' simply means 'the previous event did not run'. It's possible to move the mouse over multiple different instances (since the mouse actually moves in steps, rather than smoothly, it can cross the gap easily) without the event ever being false. In this case the else event never runs even though the cursor is over a new object. The else event does not run until the mouse is not over any instances at all.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Closing as not a bug: you're expecting 'else' to pick instances, but it does not. 'Else' simply means 'the previous event did not run'. It's possible to move the mouse over multiple different instances (since the mouse actually moves in steps, rather than smoothly, it can cross the gap easily) without the event ever being false. In this case the else event never runs even though the cursor is over a new object. The else event does not run until the mouse is not over any instances at all.

    Alrighty, do you perhaps know a way to simplify this whole process?

    I don't think that having 50+ "Cursor is over" (+false) conditions are efficient and it's obviously a little tedious to set them all up as well.

  • Just use an inverted "cursor is over" event to put them back. That's effectively a picking 'else' condition.

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