next slide from master slide

The strangest thing - I have set up a pause, replay and next button on the master slide.

pause and replay are on the one layer (that shows all the time) and next is on it's own layer that ony shows is the content has been viewed before. That all works fine.

Pause, which just shows a layer that is a play button and has 'pause base layer timeline' set in it's properties, work fine. (Thanks Gerry: http://community.articulate.com/forums/t/13943.aspx)

Replay, which really jumps to another slide in the scene, which in turn redirects back to previous slide, effectively replaying the slide. (again thanks Gerry: http://community.articulate.com/forums/p/13944/82194.aspx#82194)

But incredibly the next button which shows up fine based on it's variables does nothing - I can click on it all I like and nothing happens. This should be the easiest part as it is just jumping to the next slide - Can this not be done from the master slide? I can't see that being the case since 'jump to next slide' would use the same logic as the the next buton on the player.

I have uploaded a very scrubbed version of the module - the relevent part is Scene 4. Please disregard the horrible voice track I just put it in there to test things and used a headphone/mic set up. BTW the variables 'Quiz passed' and 'MediaToView1' are tuned to 'true' but would usually be set to 'false' and trigger with the scrubbed media.

Thanks,

11 Replies
James Brandwood

Hi Steve,

I have finally had a minute to come back and look at this problem and although my trigger is the same as yours (jump to next slide) it still doesn't work.

The only difference I can see is that that my 'next button' is on a layer, which only shows when the variable 'MediaComplete4' is active (preventing the learner jumping ahead). By the way, the normal navigation of the slide is to advance by the user clicking on a highlighted area, which has a jump to next slide trigger. This part works.

Is it possible 'jump to next slide' doesn't work from layers?

James Brandwood

I am uploading a scrubbed version of my template that shows just the scene that I am trying to make the next button work on from a layer on the master slide.

I have set the variable 'QuizPassed' to true so the slides will display without the need to pass the quiz and I have set the variable 'MediaToView1' to true so the next button is displayed. Normally the learner will have to have to view the simulation all the way through to trigger that variable (actually I think the trigger is on the second last slide).

The next button (and pause and replay) are all set on the masterslide called 'MediaToView1 Simulation Slide'.

Thanks again, I'm dying to know what is going on with this next button.

Steve Flowers

Hey, James - 

I've come to distrust buttons in layers on the master slide. Whenever something doesn't work, I automatically start thinking that it's broken / a bug. This is one of those cases.

So you can't target an object in a layer on the master slide. Apparently you also can't trigger a slide change from a trigger of any kind on a layer within the master slide either.

Fortunately, you CAN change a variable. So I added a pivot variable to your story called nextTrigger. It's a true/false variable and all the next button does is toggle this to the opposite value. I planted a variable listener on the base layer of the master slide to listen for this toggled change and trigger a next slide jump whenever that happens.

Strange rules. Totally unintuitive. But necessary while the master slide layer behavior holds this pattern. The rules

James Brandwood

Steve this is excellent - and is actually a way you can make a button do different things based on the persons interactions earlier in the module.

In a traditional training module you could base navigation through module content based on what prior knowledge they have shown, So if they passed a quiz/question on a topic earlier you can have the navigation skip that part of the module.

In an interactive lesson you could base a learners passage through the content based on earlier choices, such as choosing a character to play as.

But what do you mean it isn't intuative?  all you had to do was replace a button with simple 'jump to next slide logic' with a new variable and two triggers.... LOL

This is why I try keep all this stuff on master slides because the layers and trigger build up so fast for things that should be simple and end up causing so much clutter.

Thanks again Steve

James Brandwood

Slight problem - It actually jumps a head two slides instead of to the next slide.

I'm thinking this is because the trigger on the base layer of the masterslide is set to jump to next slide when the 'NextTrigger' variable changes. So when you click 'next' it toggles to true, but then when the next slide start it toggles back to false - which is a change so it goes to the next slide.

It is a vast improvement on the button not working at all and for the meantime I will run with it, but it may need some tinkering... I will have a play later today if I get some time.

Steve Flowers

Hmm... this is VERY odd behavior. I may have semi-consciously noticed this as I was building the logic framework for my last project and worked around it without noticing. It's not flipping the variable back to original state, so that's not causing the extra jumps. I think it's a bug that carries the event forward to the next slide - so the "variable changed" event is still being recognized when the new slide loads and it's cascading through to the end of the scene. This looks like what's happening.

Going back and creating an isolated version of this (attached), a couple of ways to make this work. I prefer the first method. I think the second locks the toggle into one way travel -- i love the elegance of a single variable change detection without an absolute value condition.

Here's the first way I solved the problem:

Add a shape to the master slide base layer off of the stage. Delay the entry of this object by .25 or more seconds. Add a condition to the next slide trigger to only execute if the state of this shape is normal. 

**One of the reasons I like this method is that it provides some really cool "multi-state interlock" possibilities for chaining logic.

The second way is to only trigger going to the next slide if the variable is true. Setup a condition to check the value of the variable. Then setup another master slide trigger to set the variable back to false when the slide loads. This method is pretty elegant as well. 

James Brandwood

Hi Steve,

I had thought of the second option and was planning on using it but on seeing your first option, I am thining I will use that instead. I like the idea of the variable not being locked and although the use of it here is pretty basic you could do more with the first option.

I guess the extra shape on the master slide just adds to the intiutiveness