Multiplication in a row (1/2)

Hello Captivaters !…

I just finished to work on the multiplication and I want to share with you some examples of my projects.

This first one is made with 10 simple operations, and the learner has to fill in the correct answer and validate his answer.


My only issue was once again with the “0” answer !… I started to put a blank TEB but if the correct answer is “0”, if the learner validates his answer without filling the TEB, it was considered as correct. To avoid this, I had to put a “?” by default in the TEB, and change the options of the TEB to “Allow all characters”.

Once again, big thanks to Lieve Weymeis who’s blog has always inspired me :

Happy Captivating !…

The post Multiplication in a row (1/2) appeared first on eLearning.

Custom Feedback – Random slides


Another showcase to answer a user question on the Adobe forums: ‘How can I show custom feedback (image) during Review for random questions?’. For normal quiz slides this is easy: use the On Enter event to trigger a conditional action. The action should check the value of the Boolean variable cpInReviewMode and show a hidden object when the value is 1. However for random questions extracted from a question pool the situation is a lot more complicated. You can use the On Enter event in the pool for each question, but it is impossible to point to an object, using its name, which is in the quiz slide. A while ago I wrote an article about what you cannot do with random questions, offering some workarounds. Have a look at:

Random Questions: Do’s and Don’ts

After some reflection and testing, I was able to find a possible workflow.


No focus on design in this example. I used the Windswept theme, and the ‘feedback’ is just a shape, which can be filled with image, text, or whatever you want. In this case the shape is fllled with  a number, which corresponds to the number of the question in the question pool. That is the key of this solution.



I created a question pool (from the example CSV file) with 7 questions, and inserted 4 random slides.

1. Multistate object

On the slide before the first quiz slide (here the Title slide) insert a multistate shape, labeled Multi (or any name you want) which has as many states as you have questions in the pool + the Normal state. That Normal state needs to be invisible, by setting Alpha for Fill to 0, and stroke width to 0. The other states have the content you want to show for that question on review (here only the numbers).

Time that object for the Rest of the Project, Always on top. 

Why you need it to put it before the first random slide?
You may know that all embedded objects on quiz slides are on top of the stack.
To circumvent this, use the trick used here: physically before the quiz slide, timed for the rest of the project

Shared Action PoolAct

Create this simple conditional action, which you convert into a Shared action, having two parameters: the name of the multistate object, and the name of the state you want to show.  This means that you can use any name for object and states when setting up that object.

You have to apply this shared action to all the questions in the pool, using the On enter event which is available. Contrary to object on the quiz slide, which cannot be pointed at in an advanced action, you can point to an object (Multi) which is IN the course. Because that object is not on the same slide, a simple action cannot be used. Only advanced/shared actions have the ‘power’ to change states for objects on other slides than the present slide.
The first parameter will always be the same (Multi in this case).
The second parameter has to correspond with the number of the slide in the pool.

Here is an example of definition of the parameters, in this case for question 5. The dialog box with parameters has to be opened with P button

Not only can you use other names when using a shared action instead of duplicate advanced actions, you can double-check in the Library if you have assigned all. Look carefully at the screenshot of the Usage box:

You see that the last instance assigned to the On Enter event was for Slide 5. Normally I had used the action in the normal sequence of the slides. But when I double-checked the Usage, only 6 instances had been used, and slide 5 still had an older version of the action. Such an easy way of checking can save you a lot of time, and is one of the reasons I prefer shared actions. The old actions, when no instances are used, can be deleted. Compare that with finding an advanced action which is not used to delete it?


You are ready for testing… not so tough this use case!

The post Custom Feedback – Random slides appeared first on eLearning.

Time in Captivate – Part 3

Hello Captivaters !…

As I was playing with Time in Captivate, I had the idea to produce a clickable map with the “time zones”.

And wherever you are you could easily evaluate the time in another part of the globe !…

As I started my researches, I realize that there are not only 24 time zones but many more, depending of politics and the period of the year…

This is the project (with only 24 regular time zones) :


It seems simple but I hope I manage to make something happening with the local time zone of the viewer !… It means that Rod in Australia will arrive on a different slide as Paul in Canada !…

(In fact, I made 24 different slides, one for each time zones, and in each slide I put 24 clickable zones…)

Happy Captivating !…

The post Time in Captivate – Part 3 appeared first on eLearning.

Toggle to Slide In/Out


This post is meant as an answer to a thread posted in the eLearning community. “I want to create a menu that slides on and off the screen, like a door that moves to the left and right, when the user clicks a button.” I invite you to read the comment by Greg Stager who is posting some links to blogs he wrote where JS is used to create slider solutions. As you know, I often try to use only Captivate features to solve similar use cases instead of JS. This is a new example. You’ll find a step-by-step workflow to recreate the example I show. The shape (which I use as ‘box’) is not having a menu, I invite you to (re-)read my post about Hyperlinks for the creation of a Dropdown menu. That way you can avoid creating multiple interactive objects in the ‘box’.

If you don’t feel up to create advanced actions, I have an offer at the end of the post as an alternative 


Watch this short file,  three slides a title slide. The three slides have two buttons (from the Assets panel in 11.5): a Next button on top, and the Slide toggle button below it. You can use the toggle button as many times as you wish on a slide. To restart, refresh the browser.


Step-by-step workflow

Step 0: Next button on master slide

I used only one master slide in this project, which made it easy to put the Next button on that master slide. I kept the default option ‘Pause project until user clicks’ (Actions tab ). That will result in having each slide paused at its last frame.

Step 1: Sliding assets

Two assets have to be created and put on the first slide where you want to use the sliding box:

  • Sliding Box: I used a rectangular shape, labeled SS_slider. You can add content to it, but make sure that you check the Options tab, because you will need both the size and the exact x/y coordinates. Here a screenshot of my setup, since it was in a non-responsive project you see both size and location in px. If it was a responsive project, it would have been in %. Put the box in the wanted position after sliding in.
  • Toggle button: (SB_Slider) will be used both for slide in and out. You need to create an extra custom state for this button, I labeled it Out. Remember that Rollover nor Down state can change when you switch from the Normal to the Out state, hence make those states neutral (I did not add text to them).

Time the Sliding Box and the Toggle button for the rest of the project, rest of the project, with the option ‘Always on top’. Screenshot of Timeline:

Step 2: Custom Out Effect

Create a time-based effect to get the sliding box out of the stage. Do not use an Exit effect, but a simple motion path. I added an AlphaFromTo effect as well (100% to 0%), and reduced the duration of both effects to 1 second.

Workflow to save this effect as a custom effect is described in detail in this post. Do use that method after you have done step 3:

Step 3: Create Guides

Show the Rulers (View menu) and create two vertical guides, through the start and end point of the motion path. See this screenshot:

They will be needed to create the In Effect, to be exactly the opposite of the Out effect. Now you can save the custom effect, and take it out from the slider box.

If you didn’t use a horizontal motion path, you’ll need also horizontal guides. More information about the use of Rulers and Guides in this post.

Step 4: Move slider box in Out position

Use the guide in the scratch area to move the slider box to the correct position. I mostly use shortcut key (SHIFT or CTRL combined with left arrow) to keep that movement horizontal. For a non-horizontal movement, you use vertical and horizontal guide. You’ll see a screenshot of the new position in step 5

Step 5: Custom In Effect

Create this effect using the two guides (or four if you needed also horizontal guides). In the screenshot you see this effect, where I combined a motion path effect with an AlphaFromTo effect (0 to 100%). Save the effect, same as for the Out custom effect.

Step 6: Hide Slider box

Use the On Enter action of the slide to hide the Slider box.


Next three steps are bit tough,  you could skip them and scroll immediately to the offer at the end.

Step 7: Variable v_slider

Create a user variable, which I named v_slider. It will be used to track the status of the Slider box: in or out? Similar logic you’ll be able to see for all the Toggle buttons in this older post.

Step 8: Advanced Action ResetSlide

Create this (conditional) advanced action :

The highlighted items in this action will be parameters if you convert to a shared action. Beware: the name of the custom effect cannot be a parameter! I used TestIn and TestOut as names, you can replace them by your names if they are different.

Step 9: Advanced Action ToggleSlider

Create this conditional action. Similar to the previous actin, I highlighted the 4 parameters in case of conversion to a shared action.

Step 10: Attach the actions to events

The action ResetSlide has to be triggered by the Success event of the Next button, whereas ToggleSlider has to be linked to the Success event of the toggle button.


You can obtain the described actions as shared actions for free, including a short explanation of how to use them. You could skip steps 7 to 9, but still have to do the other steps.

How? Visit my website (, fill in the contact form with your request, and a small comment on my blogs or website. You’ll get everything by mail. I probably will post more offers in the near future, if you don’t want to hear about them, you can indicate that as well (I am European, honor the GDPR law).

The post Toggle to Slide In/Out appeared first on eLearning.

Using QSP – Button tutorial


Maybe you have read my two articles with explanations about the 6 existing button types in Captivate and when to use them:

Older Button Types

Newer Button Types

I planned to create a Captivate tutorial for those who don’t like reading. Why not use a Quick Start Project (acronym QSP) for that purpose?  You will be able to see the result (a Fluid Boxes project, based on the QSP ‘Aspire’) and I will add some quick tips learned during this experiment.

Tutorial Button Types

Watch the tutorial using this link:


QSP tips

You can use a QSP in two ways:

  1. Open the project, and delete or hide the slides you don’t want to use in your course.
  2. Open a non-responsive or a Fluid boxes project, and insert slides from the Assets panel.

I used the second approach for the tutorial, for a logical reason: I didn’t use even half of the provided slides in the Aspire project. Project has only 17 slides, including a lot of duplicate instances of slides. I used these slides from Aspire:

  • Welcome layout
  • Timeline Interaction 02
  • Main Menu layout 02
  • Subtopic Header layout (used 6 instances)
  • Tab Interaction 01 (used 3 instances)
  • Related Content Interaction (used 3 instances)
  • 3 Column layout
  • Exit Layout

Tip 1 Duplicate slides

If you need the same slide multiple times do NOT insert it multiple times in your project, because that will corrupt the Advanced actions (most slides use them). To avoid this you need to follow this workflow:

  • Insert one instance of the needed slide
  • Go into the Filmstrip, slide will be active (surrounded by a blue rectangle)
  • Duplicate that slide, either with the right-click menu or with the universal shortcut for duplicate: CTRL-D.
  • Move the slide by dragging in the filmstrip to the wanted location.

You can repeat this workflow as many times as needed. Due to Captivate’s smart labeling, the advanced actions will not corrupt in most situations. Why not always? See next tip.

Tip 2: Check Navigation commands

In a slide like the Main Menu Layout, the topic buttons point to another slides in the total project. On insertion of that slide only, without the target slides, all commands will revert to the default navigation command ‘Go to Next Slide’. You have to replace it by ‘Jump to….’ while indicating the correct target slide (in the project the slides of the Subheader Topic layout). This will prove easier if you use the next tip:

Tip 3: Rename slides

Labeling is always a good practice, but for sure in this type of project. Multiple instances of the same layout slide will have the same name (and are very long as well). Taking the time to give them a custom name will save time when you need to find a slide. Moreover, if you want to use the Table of Content, the names will be meaningful.

Tip 4: Replace image

Switching to another image is mostly very easy:

  1. Select the image.
  2. Click on its name in the Properties panel
  3. Choose another image from the Library dropdown list, or use the Import button to find it on your system.

However, on many slides an image is used as Fill for a Fluid Box. Look at the Subtopic Header slides (there are 6 in the example): having the image as fill allows to add an image on top of the fluid box. Normally you cannot stack two images, this is a useful solution for that limitations.

If you want to replace the fill for a Fluid box, you need to select that fluid box, you cannot just click the image. After selecting the FB you see that the fill is set to Image, click the second Fill button, use the Browse icon to find an image to replace the image. Be careful to check the Position properties if the new image doesn’t have exactly the same size as the original one.

Tip 5 Multistate objects

The layout slides use a lot of multistate objects.  That is the case for all the Click to Reveal slides (labeled ‘Tab Interaction’ and ‘Related Content Interaction) and probably for many other interactions. You really will need to learn how to use them. Click the State view button in the Properties panel, to open the Object State panel.

More questions?

Sure, have edited several slides quite a lot. Here I listed up only some simple tips, not the full explanation of all changes. If you want to know more, post a comment.

The post Using QSP – Button tutorial appeared first on eLearning.

On the moon with Captivate !…

Hello Captivaters !…

50 years ago, Apollo 11 was the spaceflight that first landed humans on the Moon !…


The computerized technology used for this trip wasn’t as powerful as a simple calculator sold in a today’s supermarket !!…

What they could have done if they had Captivate on board ???…

Happy Captivating !…

The post On the moon with Captivate !… appeared first on eLearning.

Easy Looping Animation


In this thread a Captivate user asked: “Captivate animations looped with JAVASCRIPT? Is that technically possible?’ The description of the animation was a flickering button, looping all the time. This very short blog is not an answer, because I prefer easy solutions. It took me about 10 minutes to ceate this animation, using a standard effect (Flicker) and a While loop. It will take me longer to write this post, but thought it could be interesting for users who like KISS solutions like I do. For this simple project I used the first 3 slides of the Quick Start Project labeled ‘Rhapsody’ and an icon from the Assets panel which I use as button (edited the color to fit with the theme colors palette). Have a look:


If you watch carefully you may see that the loop is restarted on each slide. For such a simple animation it is not bothering me personally, but you may dislike it. I kept the playbar, which is not really needed, to offer you the possiblitity to pause the movie. You will see that pausing will not stop the animation. Neither do the pausing points of the Start buttons stop the animation. Just FYI: I also have inserted an extra Pause command to the On Enter action of the second slide, to prove that nothing can break the loop.


Do you want to try it out?

Step 1

Insert the button (you can choose whatever button you want) on the first slide.

Go into the Timing Properties of the button and time it for the Rest of the Project, always on top.

Take out the Pausing point:

You can attach an action to the Success event of the button. I used Open URL (in a new window).

Step 2

Create this advanced action, where you use the While loop.  The button is labeled SVG_Button. The effect is the default ‘Flicker’ from the category ‘Emphasis’. I kept the default duration (1second).

Step 3

Select all slides in the project (Filmstrip, CTRL-A). Attach the advanced action to the On Enter even of the slides.

You are ready for testing….

More info

Since I used a QSP, you know already that this was realized with version It is a blank project, not responsive. But the workflow could work in previous versions. Fluid Boxes have issues with items timed for the rest of the project, you would have to use a button instance on each slide.

I have been using While loops in several use cases and blogs.

You know I am a big fan of Shared actions. In this case I didn’t use it, because you cannot attribute a shared action to multiple events in one act (here to the On Enter event of all slides).

The post Easy Looping Animation appeared first on eLearning.