
After viewing my previous post"Making Forklift eLearning Interesting w/Examples"
A few folks wanted a peek at the code I use to lock the Articulate course until the user completed the game.
It's actually only a few lines
This section is near the top of my code:
var ArtAPI = _level0.ArtAPI;
slidenum = ArtAPI.GetCurrentSlide();
_level44.Presentation.Slides[0].Slide[slidenum - 1].waitforuser[0]._value = "true";
if(!_global.baseHit){
_level44.Presentation.Slides[0].Slide[slidenum - 1].navlocked[0]._value = "true";
}
That code grabs the Articulate API.
Gets the current slide's number
Sets the slide to wait for the user to click the next button
If the base (cargo area) has not ever been hit (more on this global variable below)
Lock this slide so the student can not click next/back etc.
Then later in my code when I have determined the cargo hit the base I run this function:
function baseHit() {
winner_txt.text = "Good Job!";
winner_txt._visible = true;
timer = setInterval(resetAllCones, 3000);
Key.removeListener(keyListener);
_global.baseHit = true
_level44.Presentation.Slides[0].Slide[slidenum - 1].navlocked[0]._value = "false";
}
Most of that is for the game... the only parts that pertain to Articulate are the last two lines.
Set my global variable to true. This way the slide wont lock if they just want to come back and play.
Unlock the slide.
One thing you need to make sure of is that you disable the Articulate Keyboard shortcuts or else the course move to the next slide when the user presses their arrow keys. You 'should' be able to do this with the ArtAPI.EnableKeyboardShortcuts(bEnable) but it never works for me...
Comments
Thanks sci72 it will try that!
Everyone sci72 is one of the wonderfully helpful contributors to the Articulate forums.
His work here really helped me with this project.
hmmmm... instead of 'bEnable' try a string of true or false, I've noticed that Articulate in a lot of cases doesn't use true boolean's but instead it uses strings that have 'true' or 'false' in them. Oh and nice locking code for articulate, where ever did you find it ;)
Great post it is very informative thanks!
Post new comment