58 Replies
Phil Mayor

Hi Mats

It is not possible to fire a layer on another slide using a trigger.  You can trigger a variable e.g a true false variable.  The on the slide you want the layer to be open set a slide level trigger to show the layer if the variable = true

My general rule is to use states to track within slides and variable if you need to move to another slide.

Hope this makes sense

Phil

Steve Flowers

Triggers are bound within the scope of a single slide. You cannot affect an object that doesn't live on a slide. Can't affect an object that lives on the master slide from a base slide either, or vice-versa.

Variables, on the other hand, are global. When you set a variable value, you can retrieve that value anywhere in your story, including master slides.

This provides a neat mechanic you can leverage to "broadcast" a change. I call triggers that use this mechanic "listeners". You can setup a trigger to watch for a change in variable or to look at a variable value when another event is triggered like the beginning of a timeline.

Here's a pseudo trigger:

Show LayerX when the timeline starts [condition] if variableY=true

Every time this slide is shown this trigger will look at the variable value. If the variable is true, it'll show the layer. If it's not, it won't. 

Kevin Thorn

Hi Mats! Congrats on you new addiction.

You'll find as you get more comfortable that there is many different ways to do the same thing in Storyline. 

Echoing Phil and Steve, triggers are restricted to the slide you're on. You can set a trigger to navigate to any other slide, but not into another slide's layers.

One approach would be to set it up like this:

  1. Create a True/False variable with a default value of 'False.' Let's name it "ShowLayerOnSlide2"
  2. On Slide 1 create a button.
  3. Add this trigger: Adjust Variable > ShowLayerOnSlide2 > to True > When user clicks.
  4. Add  another trigger to the button: Jumps To Slide 2 when user clicks.
  5. NOTE: Make sure the above two triggers are in that order. You want the variable to change prior to jumping to the next slide.
  6. On Slide 2 add a Layer - Layer 1
  7. On the base slide of Slide 2 add a Slide Trigger: Show Layer 1 > When Timeline Starts > IF > ShowLayerOnSlide2 = True. (this is what Steve explained above)

That should work

Mats Schieche

Hi again,

Is there any requirments that each variable can only be used once?

In my case i have 3 slides and 6 links on each slide that are link to various layers on the 3 slides......

Do i have to create 18 different vaiables.

The reason i ask is that it seems that when i set the True state the some of the other links will link to the same layer fom different buttons.

Thanks in advance,

Mats

Kevin Thorn

Right. What Phil said. 

For example, if you use a True/False variable think of it as an On/Off switch. If its default is set to False and button trigger sets it to True, then that variable is now always True until it gets triggered again. 

Some things to consider:

- If you're wanting to do multiple things on one slide, its best to have a separate variable.

For courses that have hundreds of variables, a best practice I've adopted a naming convention to coincide with the slide. i.e. Slide 1 = s1variableName,

- If multiple variables on one slide: Slide 37 = s37aVariableName, Slide 37 (again) = s37bVariableName

- You can reuse a variable over an over. Just remember to reset it. i.e. After its use on Slide 1, set a Slide Trigger on Slide 2: Adjust Variable > Variable (one previously used) > To its default value > When Timeline Starts. So if you used a True/False on Slide 1 and it was triggered to True, on Slide 2 you would reset it to False as the Timeline Started.

Mats Schieche

Hi all, and thanks for all help.

I think Kevin came up with the hint i needed. That is to Reset it back to False. It seems logic, considering the behavior that i see.

Since it is Friday evening here now i will test this on Monday and let you know. Could be good for other users to know how it worked out.  

Have a nice weekend,

Mats

Ricardo Gomez

Hi,

Does anybody know how to reset a layer after being showed? this is what im trying to achieve. I have a button and that  unhunde a layer that contains an animation, but what i need to do is to replay that layer animation everytime i click that button, but so far everytime i click the button the layer gets unhidden but the header is at the last frame. i dont know how to reset the header so the layer always starts from frame 1.

thanks

Rebecca Fleisch Cordeiro

Hi All,

TX for Q/A which are helping me as I get a better handle on triggers and variables. Mats, Phil and Steve are so generous with their help in this community (as are Gerry, Kevin, and so many others) I thought I'd share with you this really good book written by Phil, Steve, and Russell Stills: Storyline for Starters

It's very clearly written and provides more information on triggers, variables, states, etc.

Oh, and no, I don't have any "stock in the company"...just like good resources.

Lori Byerly

You guys seem to understand variables and slide triggers really good.  Hope you can help me.

I'm need help setting Slide Triggers on a Final Results Slide.  In this project, there is a lot of branching so I created results slides within the project - seven in total. The way the student answers the questions triggers a certain layer to appear on Final Results Slide, well, in theory.

Please click on my name to reveal more information on the issue if you think you can help. 

Marie Wood

I too, am trying to use variables to show a layer from a previous slide. The premise is the user has not selected the best scenario choice and they need to be taken back to the slide with the choices so they can pick again. I set up a variable and thought I set it properly to achieve what I described but nothing happens...please help!

mareena  Basharat

Hi,

I am working on an interactive report project:

I wanted to link a slide to a layer, I used the variables and triggers but there is still a problem:

To sum up: 

Slide 1 gives the user the choice to enter via 2 buttons that jump to the slide 20.

Slide 20 gives the user the choice to go to other slides via multiple buttons.

Each buttton on slide 20 is linked to a specific slide. each specific slide has a layer.

Basically when the user will click on button 1 for exemple, it will leads him in a first place to slide 20 then he will have to choose among the options proposed on slide 20, it will leads him to another slide that he could read.
And when he clicks on button 2, it will leads him to slide 20 and by clicking on one of the choices of slide 20, it will not lead him to the  slide linked but to the layer of the slide linked.

That is why I used variables and triggers and it worked at first.

The first variable I used was: theuserenterviabutton1 and I put a trigger on Button 1 : set theuserentersviabutton1 to true when the user clicks and I did the same with a second variable for Button2. I put a second trigger to jump on slide 20 when the buttons are clicked.

I created two other variables: one to showtheslide and the other showthelayer. I used again triggers:

On slide 20, two slide triggers:

- set showthelayer equal to true whan timeline starts IF theuserenterviabutton1 is equal to true

- set showtheslide equal to true when timeline starts IF theuserentersviabutton2 is equal to true

On each slide linked to slide 20:

- slide trigger: show layer 1 when timeline starts IF showthelayer is equal to true

But the problem is that the user may get back on slide 1 several times and choose again between the two buttons.

 I even tried to change the settings of the slide so that it  reset to initial state when the timeline starts but it does not work.

Do you have any ideas on how I can solve this problem?

Thank you

Ashley Terwilliger

Hi Mareena and welcome to Heroes! 

When working with triggers and variables I'd first check into the order in which these triggers are firing within the trigger panel as they'll work from top to bottom. Also, is the variable being reset somewhere else and therefore not working on the revisit? If you'd like the buttons on slide one to only work one time, have you looked at using the disabled state of the buttons and then setting the slide to "resume saved state"? 

If you're still not able to get the desired behavior, could you share that file here or a sample with the same set up so that we could take a look at what's happening? 

mareena  Basharat

Hi Ashley, thanks for your answer!

I checked the order of the triggers, they are all on top.

Actually I don't want the user to click only once on the button since the slide 1 would be like the "home page" of the whole project where the user could go back to choose which category he would like to read. I am not sure if I am clear but the idea is that the user would have the choice to go back on the home page whenever he wants and for the slides that I am talking about I need them to do the same process everytime the user click on the buttons.

I can show parts of the project:  

The triggers on the first slide are on the two buttons (named competitors and geographical area) :

Then the triggers on slide "13 Competitors" (slide that I called 20 before):

                                                                                                             

and here is the slide linked to the slide 13:

 

and here is the layer that I want to make appear when button "geographical area" is clicked:

 I hope my explanation is clear and do not confuse you

Thanks again for the help

Ashley Terwilliger

Hi Mareena,

Thanks for the images - although I'm still having a difficult time following the variables and what you are seeing vs. what you'd like to see. The third image is throwing me off - as I don't see where that variable plays into showing the layer? Also, slide 13 isn't the "home" slide, correct? 

Adena Wilson

Kevin Thorn said:

Hi Mats! Congrats on you new addiction.

You'll find as you get more comfortable that there is many different ways to do the same thing in Storyline. 

Echoing Phil and Steve, triggers are restricted to the slide you're on. You can set a trigger to navigate to any other slide, but not into another slide's layers.

One approach would be to set it up like this:

  1. Create a True/False variable with a default value of 'False.' Let's name it "ShowLayerOnSlide2"
  2. On Slide 1 create a button.
  3. Add this trigger: Adjust Variable > ShowLayerOnSlide2 > to True > When user clicks.
  4. Add  another trigger to the button: Jumps To Slide 2 when user clicks.
  5. NOTE: Make sure the above two triggers are in that order. You want the variable to change prior to jumping to the next slide.
  6. On Slide 2 add a Layer - Layer 1
  7. On the base slide of Slide 2 add a Slide Trigger: Show Layer 1 > When Timeline Starts > IF > ShowLayerOnSlide2 = True. (this is what Steve explained above)

That should work


Hi. I found this thread and just wanted to say thanks! This is just what I needed (especially Kevin's instructions above). Love working with variables.