Forum Discussion
Customising Content
The short answer is - it's complicated, but it can be done. You will need lots of variables. There are lots of ways you can do this, but this seems to me to be the simplest, and most straight-forward.
Assume you want to select for three characteristics: white or dark sand, warm or cool water, and low or high surf. Assume that you have three beaches: A, B, and C.
Create T/F variables for white sand, warm water, and low surf. Put them on slide two, with a question ("Do you want white sand?), with two radio buttons (make sure they are a button set), one for yes, one for no. When either is clicked, set the variable for white sand to true if yes is selected, and false if no is selected.
For each beach, create three T/F variables: BeachAWhiteSand, BeachAWarmWater, and BeachALowSurf. Set their default values according to the characteristics of the beach in question. For each beach, create a numeric variable(BeachAScore), and set their default value to 0.
On slide three, create two layers for each beach. One will show the information on the beach, and the other will display a message that BeachA does not meet your criteria. Create triggers that fire when the button (Show my beaches is clicked): Set BeachAScore to 0 when button is clicked, etc. If BeachAwhiteSand is true AND white sand variable is true, add 1 to BeachAScore when button is clicked. If BeachAWarmWater is true AND warm water variable is true, add 1 to BeachAScore, If BeachALowSurf is true AND low surf variable is True, add 1 to BeachAScore. Duplicate all of these for each beach.
On slide three, create a method for choosing a beach. Make sure it is visible and clickable when each layer is showing. It can be a slider, with stops for Beach A, Beach B, and Beach C. It could also be a set of radio buttons (be sure they are a button set), one for each beach. Create triggers for when the slider changes, or when the beach choice button is clicked: Show layer Beach A information when slider variable changes if BeachAScore = 3 AND slider variable = [beachA number]. (If you use buttons for each beach, the trigger looks like: Show layer Beach A information when BeachA selection button is clicked if BeachAScore = 3.) A second trigger is: Show layer BeachA does not meet your criteria when slider variable changes if BeachAScore NOT = 3 AND slider variable = [beachA number]. (If you use buttons for each beach, the trigger looks like: Show layer Beach A does not meet your criteria when BeachA selection button is clicked if BeachAScore = 3.)
When they choose to view all beaches, set BeachAScore, BeachBScore, and BeachCScore all = 3.
This works, as long as each characteristic is binary. If you want to expand it to "I can accept either condition for this characteristic", you will probably need to move to javascript.
Ask if you have questions.
Walt and Sinéad
I think this might be possible using only states. Here is something I came up with that might work. I disabled the states of the buttons (one for each beach) if the user selected items the beach did not provide.
Example: If Beach C does not allow for walking or surfing, then disable that button on the timeline when it starts for the slide that shows the beaches that met the criteria input by the user. On the other hand, for the beaches that do allow walking or surfing, keep those buttons lit up and allow the user to learn more about them.
https://bridgehillls.com/exploring-beaches-that-meet-your-criteria-in-storyline-360/
Anyway, Javascript probably provides much more fine-tuning of this but, in a pinch, the use of states might be an option Sinéad.
Richard