Forum Discussion

MargaretMcCa446's avatar
MargaretMcCa446
Community Member
28 days ago
Solved

Condition on Hotspots for an Order

Hi I have a tiered diagram which has hotspots which open each layer with information.  How can I add a condition to ensure they start at the bottom tier? I have added the diagram.  Thank you.

  • AaronBurgessAU's avatar
    AaronBurgessAU
    12 days ago

    Hi MargaretMcCa446​ 

    To make this easier I'm supplying you my test .story file. I've tweaked the code a little and there are 2 slides. One where you can only go up, and not back. and another where you can go up (still can't skip a hotspot) but you can also revisit previous layers.

    Reach out if you have any questions.

     

13 Replies

  • You could just add a hotspot on the bottom tier and then add the hotspot for the next tier on the bottom tier's layer and so on

  • Thank you Ron, I do have a question how would you ensure which hotspot they click if they are all on the bottom tier?

    • RonPrice's avatar
      RonPrice
      Partner

      Based on your description, I was thinking that each hotspot was configured to show a different layer.  So on your slide there is only one hotspot covering the bottom section to show a layer. On that layer is another hotspot over the second section that shows a different layer, and then on that layer is a third hotspot . . . Etc 

      I may have misunderstood your design.

  • I would have switched them to transparent shapes so you could disable them, doing it this way you still get the mouse hover on the hotspot

  • Ron's solution definitely works if you're building all the layers onto the slide (that is, not hiding the current layer when a new layer is shown). 

    Phil's solution works in more situations. Any triggers you'd add to a hotspot can be added to a shape filled with a color set to 100% transparency. Even better, a shape can be given states

    For example, the shape over the bottom tier could have an Initial State of Normal, and the others could have their Initial State set to Disabled. When the user clicks the bottom shape, one trigger would show the layer, and another trigger could change the state of the next shape to Normal. 

    In other cases, you could give transparent shapes Visited states. That gives you an easy way to track whether the user has clicked them all, so you could use that info in trigger conditions. For example:

    Also, if you want to show the user that they click an area already, insert a checkmark or some other appropriate symbol in the shape's Visited state. 

    • MargaretMcCa446's avatar
      MargaretMcCa446
      Community Member

      Hi Judy

      I have tried doing the above triggers however, the hotspots don't appear for me to change their state:

      Can you please advise, thank you.

      Kind regards

      Margaret

      • JudyNollet's avatar
        JudyNollet
        Super Hero

        I have no idea how the trigger shown in your picture is related to this issue, since it's dealing with the states of a picture and of an arrow based on the values in multiple variables. 

        You said, "the hotspots don't appear for me to change their state."

        As noted above, hotspots don't have states. A shape with a solid fill set to 100% transparency would be invisible to the user (like a hotspot is), However, a shape can have states. (See PRIMER: Hotspots vs. Transparent Shapes | Articulate - Community )

        Beyond that, troubleshooting is just guessing without seeing all the programming. Someone might be able to solve the issue if you upload the .story file. Here are the best practices for doing that:
        • Only include slides that are related to the problem.
        • Be sure objects, layers, motion paths, and variables have meaningful names.
        • If there is proprietary content, replace or delete it. For example, replace proprietary text with “ipsum lorem” text.

         

  • Thank you Judy, sorry for my late reply I had been unwell.  I will give it a go and see how it works.

  • If you want to keep your hotspots, then all you need is a single variable to check.

    Create a Number variable and call it checkSPOT and set it to a value of 0

    Then on the base slide have each hotspot check a value. For example

    Show layer TIER1
    When the user clicks Hotspot 1
    if checkSPOT = value 0
    or checkSPOT = value 1

    Show layer TIER2
    When user clicks Hotspot 2
    if checkSPOT = value 1
    or checkSPOT = value 2

    Just repeat this for as many hotspots you have on the base layer and so tier 3 would check value 2 and 3, Tier 4 would be values 3 and 4 etc etc.

    Each tier layer has the same trigger with a different value

    TIER1 is

    Set checkSPOT to value 1
    When the timeline starts on this layer

    TIER2 sets the value to 2, Tier 3 sets the value to 3.

    My code blocks anyone from seeing tiers above or below. However if you want the user to be able to revisit lower tiers then the base code is

    Show layer TIER1
    When the user clicks Hotspot 1
    if checkSPOT (greater than or equal to) value 0

    Show layer TIER2
    When user clicks Hotspot 2
    if checkSPOT (greater than or equal to) value 1

  • Hi Aaron

    Thank you for your instructions, I followed these:

    This doesn't however, mean that they are prevented from clicking on the layers in order e.g. tier 1, tier 2, etc.

    Please advise where I am going wrong, thank you.

    Kind regards

    Margaret

    • AaronBurgessAU's avatar
      AaronBurgessAU
      Community Member

      Hi MargaretMcCa446​ 

      To make this easier I'm supplying you my test .story file. I've tweaked the code a little and there are 2 slides. One where you can only go up, and not back. and another where you can go up (still can't skip a hotspot) but you can also revisit previous layers.

      Reach out if you have any questions.

       

  • Hi Aaron, thank you so much, this worked!  I don't have much experience with using variables so you have taught me alot. Have a lovely day.

    Kind regards

    Margaret