Object disappearing after "hover over" state change

I'm not sure if this is an SL2 bug, functionality limitation, or trigger setup error on my part, but it is repeatable, so wondering if anyone has ideas.

Here's the setup, abstracted and simplified from the project I'm working on:

 

Object A has two states:

Normal - Default state
Happy - when the timeline starts, Object A's state will change to Happy - IF a certain variable (changed elsewhere in the project) equals true (variable's default is false).

 

Object B has two states:

Normal - Default state
Hover - In addition to the normal built-in hover action for Object B, I have another trigger that says when mouse is hovered over Object B, change the state of Object A to Happy. "Restore on mouse leave" is on.

Essentially, hover over Object B, and both Object A and Object B will have a state change trigger. Easy, works fine when that variable I mentioned = false.

 

Here's the problem:

If Object A's state is Happy when I go to hover over Object B, as soon as I move my mouse off of Object B, Object A disappears.

I've tried just about every permutation I can think of to avoid it, like adding an IF statement to the hover state to say "change this only if the variable is false" etc, but nothing seems to prevent this weird disappearing object.

My only guess is that when the mouse is moved off Object B, the "restore on mouse leave" is triggered, and Object A receives a request to change state to a state it is already on, and something in SL2 code sends a null?

Thanks for any help you folks might be able to offer.

::EDIT::

I created a new project replicating the above and explaining process. Please find it attached.

::EDIT 2::

Added updated version which shows some other troubleshooting measures, but the disappearing object issue still occurs.

11 Replies
Wendy Farmer

HI Joseph

as 'Hover' is a built in state SL doesn't need a trigger to make it happen.  It could be that you need to have a custom state that does what you want on hover so you can add the conditions in.

I've done a quick sample but I'm not sure if I fully understand the issue.

See if this helps or gives you an idea.

Joseph Ferraro

Thanks for the help all -

I've actually tried the recommended solution before. While unchecking "restore on mouse leave" solution would solve the issue when the variable is in the "true" position, the problem is that it won't when in the "false" position, because when the user moves off Object B, the character should go back to their "normal" state.

The idea is to show the character excited for you to click on Object B.

Interestingly, if you delete the state of "hover" from Object B, create a new state for it and name it something else (for example, "Rollover"), the effect still happens with Object A disappearing, so it doesn't appear to be an issue with the baked-in Hover state.

I can also confirm that if you just make another state on Object A (so now A has 3 states) and have Object B's hover trigger change it to that 3rd state, the disappear effect still occurs.

Seems like a bug to me! Find the updated version attached.

Kevin Thorn

Hi Joseph,

Took a stab at your project file. First, there does seem to be some kind of buggy behavior with Object A disappearing when returning to slide 1.1 if the variable is equal to True.

Attempted to rebuild from scratch thinking it may be a corrupt file. No luck there. So it appears it is a bug. I'd recommend submitting a bug report so Articulate Engineers have a record of it.

Until then, we have to figure out a way to fake out Storyline. Like any software, it has capabilities and limitations. Those limitations are what keeps up late at night!

Solution: a duplicate of Object A.

Object A1 has two states:

  • Normal
  • HoverOverObjectB 

Trigger remains as you have it - now assigned to Object A1:

  • Change the State of Object A1 to HoverOverObjectB When the user mouses over Object B 

Object A2 has two states;

  • Normal
  • Happy

Trigger remains as you have it - now assigned to Object A2:

  • Change the State of Object A2 to Happy When the timeline starts IF Variable is equal to True

No change on Slide 1.2

One new added trigger fired from clicking the Next button on Slide 1.1

  • Change the State of Object A1 to Hidden when the user clicks the Next button 

 

Rationale:

  • User hovers over Object B and Object A1 changes states.
  • User clicks Next button and Hide Object A1 (leaving Object A2 in Normal state)
  • On Slide 1.2 user clicks object to change variable from False to True and returns to Slide 1.1
  • Trigger on Slide 1.1 fires evaluating value of variable. If variable is equal to True, change the state of Object A2 to Happy.

There are various applications with this and I don't know what your final design is intended for, but faking Storyline out, (or really the user) to believe Object A1 and Object A2 are in fact the same image/graphic.

Hope this helps. Updated file attached.

Joseph Ferraro

Brilliant! Thanks for workaround solution. This is exactly the behavior I'm looking for.

The full context in the real project is that Object B is a button that directs the user to a FAQ on another page, and after they return from that page, the Object A person underneath it is happy to have their question answered. There are six FAQs and six characters. Pretty much the same idea otherwise.

Thanks again! I'll fire off a bug report.