States and layers question
Sep 28, 2015
By
Jesse Kramer
Hi all,
I'm working on a project here and I want users to click an image for a particular layer to open. I want the image clicked to change states. I added a checkmark over the image to indicate it's been clicked. Before I added this state change the image stayed hidden on the base layer like it's supposed to. Now it's showing up on the layer it refers to. I'm not sure how this happened or how to correct the problem. Thanks for any help. I've uploaded a copy of the story file. The issue I'm having is on the OmniJoin screen in the OmniJoin section.
Jesse
6 Replies
You had a trigger on the Marketing item that changes this object to Visited AFTER the layer is displayed. That's why it shows up on the layer. Since Visited is a built-in state that is called automatically, this trigger is not even required. But if you do want to keep it for some reason, then it needs to be ABOVE the Show layer trigger. See attached a revised file.
I don't understand why having this trigger would cause the image to appear on a different layer than that which it was originally placed. I do want a change of state to indicate to the learner that they already visited that section. Should I have the trigger to change state when the user clicks the close button for that layer? Would that be a better way to handle this?
I just did what I asked about and it worked as intended. I even solved another issue. The way it was at first I could visit that layer again. Now I can. Yay for the duck...
Because you had placed the trigger after the layer was called, so the state change of the object causes it to be 'touched'/updated. Trigger order is the key here.
Like I said, with the Visited state you do not need that trigger at all.
Hi Jesse,
It looks like Michael has you covered here and you may also want to read about trigger order here.
Now I understand. I deleted the trigger and you're right. It worked as intended. I was making extra work for myself. Thanks for the help.
This discussion is closed. You can start a new discussion or contact Articulate Support.