Select from 2 large lists - display selected items on another screen

Jun 08, 2015

I came across a post where someone wanted to select 2 objects from 2 large lists on separate slides and show them in a specific location on a third slide.

Here is what the user asked for:

Screen 1 - contains a dozen icons.  Each one selectable.  They are to select 2 icons.

Screen 2 - contains a dozen sticky notes with text.  Each one selectable.  They are to select 2 notes.

Screen 3 - I need to display their 2 choices from previous screens as a "here is what you selected to take in your bag" with 4 total items.

Original post is here.

The trick was to show the 4 items in a bag based on what they have selected in the previous slides.

Here is what I came up with.

Slide 1:

1. Setup 12 objects that can be selected.

2. For each object create 5 triggers in the following order:

(1) Add 1 to total objects selected variable when user clicks if 'State is equal to selected'

(2)  Subtract 1 from total objects selected variable when user clicks if 'State is equal to not selected'

(3) Create a variable for the object and set as True/False. When the user clicks the variable this will toggle so we know which ones they selected.

(4) When an object is clicked it will change to a selected state. But, because the user is only allowed to select 2 objects we create a trigger so that if the total objects selected variable is greater than 2 we set it back to normal so it won't look selected.

(5) Show layer if total objects variable is greater than 2. This will show a modal saying that they can only select 2. Also, on this layer we add a trigger to subtract 1 from total objects selected because when they clicked the object it added 1 making total objects equal to 3. This will set it back to 2.

Slide 2:

This will be setup the same as slide 1, but we will be using different variable names for the objects and the total # of objects selected on slide 2.

Slide 3:

Here we need to create 4 locations for the objects selected to be placed in the bag (2 icons, 2 notes).

(1) Create variable for Icon location 1 and set to false

(2) Create variable for Notes location 1 and set to false

In the 2 Icon locations I stack all the objects on top of each other and give them an initial state of hidden. I then do the same for the 2 notes locations.

The next thing is to setup slide triggers for the objects in each stack.

Stack 1 - First selected Icon (24 triggers - 2 for each object in stack)

(1) Check Icon variable for True to see if Icon was selected on previous screen. If true set state to normal if item location is equal to false (this means we don't have anything visible in that location yet).

(2) Toggle Icon location variable to True if the object state is normal. This tells us that location is being used, so as it goes through the rest of the objects it won't show them in that location.

Stack 2 - Second selected Icon (12 triggers - 1 for each object in stack)

(1) Check Icon variable for True to see if Icon was selected on previous screen. If true set state to normal. Because there will only be 1 more object selected we don't need to do any other checks before we show it in this stack.

Stack 3 - First selected Note (24 triggers - 2 for each object in stack)

These will be the same triggers as Stack 1 but using different variables.

Stack 4 - Second selected Note (12 triggers - 1 for each object in stack)

These will be the same triggers as Stack 2 but again using different variables.

It may not make allot of sense when reading so I attached the .story file for everyone to see what I am doing. I also have variables displaying on screen so that you can track what is happening with the variables when the objects are selected.

This is the solution I came up with, as we all know there are many different ways of doing the same thing in storyline.

So, now I put this out there to see how it can be improved upon so that it doesn't rely on so many triggers and variables.

Let me know what you come up with.

Cheers!!

3 Replies

This discussion is closed. You can start a new discussion or contact Articulate Support.