I'm working on a project that requires the user to click on a spacific object. As the learner completes the quiz and the last page is the number correct.
The problem I am having; I cannot find a way to have Captivate start the voice over for the number of correct answers.
so you're trying to get Captivate to play a specific sound based on the score of a quiz?
hmm... Captivate isn't very flexible when it comes to feedback for quiz scoring.
without trying it myself, my guess would be to use a branching approach, jumping to different slides based on the outcome of the quiz. if score = passing, jump to slide 'a', if score = fail, jump to slide 'b', etc.
but the linear nature of the captivate playbar always screws up branching scenarios... users can scrub forward and backward, so theoretically they can see both the 'pass' and 'fail' slide once they've passed the quiz.
another approach could be: 1. Run the Captivate.swf from a player.swf 2. Count the scores: use for example AnswerCorrect.swf 3. At the end of the quiz, call a flash program that plays the correct sound.
It can also be done using the externalInterface solution and javascript in the HTML file that contains the captivate movie.
By the way: If you create a function in flash to communicate with Captivate, why shouldn't you use _global functions? In this way your embedded Captivate flash movie only needs to hold the name of the function. You can leave out "_root." and you won't get any warning if you insert this .swf in Captivate.
_global may help avoid the _root warning, but it has as many issues as _root. in fact, _global is arguably more dangerous than _root, since it can override function names in any classes used by the SWF, too.
in JavaScript, the accepted best practice is to avoid the global namespace as much as possible. this is true in ActionScript (and many other scripting languages), as well.
if you really want to do things cleanly and impress people, you could probably write a class containing the methods you'd like to call. grant skinner wrote a good blog about the issue a few years ago. this is the same approach ActionScript 3 is enforcing by using so many packages/classes. i haven't tried it with the tedious Captivate embed workaround (a Flash SWF imported into a Captivate SWF, which is then imported into a Flash SWF), but i imagine it should work fine.
We have little problem with Captivate 3 which we want to fix... if it is fixable?
Problem is as follows: We make a Captivate flash with a punch of random question slides and three (3) attempts to pass. First time when student do not pass she/he needs to start quiz again. Now quiz is exactly same as first time. Captivate do not randomize questions again. Same happens also third time.
How we can make Captivate randomize questions every attempts student take a quiz? Only way now is to refresh browser window but this is not an option because we need to monitor students action. Refreshing resets Scorm values.
Can we use Javascript or maybe Actionscript to fix this? Can you help us?