Forum Discussion

Borg_Cube's avatar
Borg_Cube
Community Member
3 years ago

Problem with activating "Next"-button

Hi :)

I have a problem with a slide that have some layers and triggers.
The issue I have is with the triggers that should activate the Next-button after the user have clicked two different rectangles on two different layers.

I have looked at this and tried different things for hours but I can't for the life of me figure out where it goes wrong. I also tried setting resume saved state vs reset state when revisiting on the different layers and the base-layer.

I've attached the slide in question.

  • DaneJames's avatar
    DaneJames
    Community Member

    Your triggers on the slide layer were in the wrong order, but there was still and issue after correcting. I use variables for this type of action as they always work unlike the visited states. You are also jumping to the slide and not closing the layer so this could be starting the slide over. See the attachment with the added variable.

    • Borg_Cube's avatar
      Borg_Cube
      Community Member

      Thank you, Dane.
      Clever workaround using the variable, I'll get right on it. And I completely missed the trigger-order, thanks for pointing that out.

      Would love an explanation from Articulate on why it doesn't work.

  • Just a personal rant: Variables aren't a workaround; they are an integral and necessary part of SL. If anything, using the condition of states is a workaround, and Dane is right - they aren't always reliable.

    I'm not from Articulate, but I can tell you why it doesn't work. I can also make some suggestions that you may or may not want to follow.

    This trigger can't work in the present form:

    because it only fires when the slide timeline ends. The timeline ends after one second. Meanwhile, the rectangles it checks doesn't appear until after the learner clicks the main slide, clicks the animation layer, and five seconds pass on the Roller layer, and then the same process for the Ansvar layer. Then the slide starts over and the states are reset, so it never will find the rectangles in the visited state.

    The groups on the Ansvar and Roller layers can cause problems. Groups don't always work well with triggers and states, and animating all the objects in one can be a pain. It is much easier to create them as a single unit. Copy the arrow and text, edit the Normal state, and paste them onto it. Then they are one object, and can be animated or triggered easily and reliably. You can copy the Normal state, and change colors, because while you are editing states, they appear as separate objects.

    (One thing about doing it this way is that the rectangle doesn't have a fill, so the only part that will recognize the mouse hovering or clicking is the lines. Simple fix: fill the rectangle and set its transparency to 99%.)

    Changing those groups to single objects will also save you a lot of triggers. In fact, you won't need any for them. Slide the left edge of them to the right in the timeline, and they will enter when you want. You don't need the "Set state to Visited" trigger, because that action is built into every object with a Visited state. In fact, if you don't delete it, it may cause problems.

    Jumping to this slide will reset states, making it very difficult to find both objects in the Visited state at the same time.  A better solution  is to use variables as Dane suggested. I would make one change to his suggestion. Adding to a variable is risky, because if the learner visits the same layer twice, then the program will advance. A safer method is a variable for each path.The triggers you want are:

    You have done a very good thing to use layers for the animations.  That allows you not to have to restart the slide. When the animation layers are hidden, the base appears, and looks like it did at the beginning.

     

     

    • Borg_Cube's avatar
      Borg_Cube
      Community Member

      Thank you for a very good explanation, and all the great tips.

      I tried to make the buttons as single objects but didnt figure out a good way while still retaining the animation.

      With regards to your rant, I'm well aware of the importance of variables, I use them all the time. I should maybe have said "alternative solution" instead of "workaround".

       

  • You're welcome. PIAWYC (Pass it along when you can).

    If you have pasted the arrow and text onto the Normal state of the rectangle, while editing it, adding animation is pretty easy. Right-click on the object on the timeline, choose Timing, and you can set when it enters (and exits). Then choose animations from the menu, and you can choose your entrance animation.