Copy link to clipboard
Copied
I'm using Captivate 6 and building a Captivate lesson where on a single Bookshelf slide, there are three bookshelves, each with multiple books. (see below picture) Each book has a click box that jumps to a different slide. Upon entry into the different slide, I'm using a ActionVisited conditional advanced action to assign a unique "visited" variable the value of "1" for that particular book. A different Setup_MenuSlide conditional advanced action executes upon entry (or return) to the single Bookshelf slide, where if the visited variable associated with a book is evaluated to "1", an image object (checkmark) appears to denote that the book has been read.
Using a picture, here's what the Bookshelf slide looks like before any of the books have been visited:
As long as I move to each book in order (e.g., "Components", then "System Requirements", then CP Prerequisites, etc.), the checkmark object appears on the corresponding book.
The problem is this: If I move to a book out of order (e.g., I go to "Counterpoint Installation" before any of the others on that shelf), the checkmark object appears on the book I selected as well as all others that precede it on that shelf, even though I haven't yet visited the preceding books.
I've played around with the order of the book click boxes and associated checkmark objects on the timeline, but it makes no difference in the behavior. Here's what the timeline looks like:
Does anyone have any ideas what I may be doing wrong? Do you need to see anything else to help diagnose the problem?
Copy link to clipboard
Copied
Screenshots of the conditional advanced action On Enter?
Copy link to clipboard
Copied
Thank you for the quick response!
Here's a screenshot of the Setup_MenuSlide advanced action. This is the advanced action executed by the main bookshelf slide, and is responsible for evaluating the condition of the "visited" variable to determine whether to show the corresponding checkbox object.
And here's a screenshot of the AssignVisited advanced action. This is the advanced action that executes after the slide associated with a book has been visited. It sets the "visited" variable for the book to 1.
Copy link to clipboard
Copied
I have some comments, tips:
You see that I try to make it much more simple. If you had shared actions (not yet there in CP6) this would be very quickly done. Even with duplicating actions it will not take long, much less than all the time you put in creating those conditional actions.
Copy link to clipboard
Copied
Thanks, Lilybiri.
Well, you're certainly correct on the amount of time I've already put in on these slides.
I will dissect each of your suggestions and see if any of them will fit the project.
I like the idea of using the "Return" button to show the corresponding check mark, done as an object. There are multiple places from which the learner can be returned to the main slide where the check mark would appear.
I also need to further investigate using a standard advanced action. I'm not quite clear on your suggestion to use a navigation action to assign a value to the variable, so maybe playing around with it will make it more clear.
Copy link to clipboard
Copied
When you return to the menu slide, that is a 'navigation action'. Maybe at this moment it has only the simple action 'Jump to'. If you replace that simple action by a standard action:
The variable will get its value when getting back to the menu slide, which means that 'book' has been visited. You can even add the statement:
That will do everything at once with a pretty concise standard advanced action (3 statements). I don't know if you ever need those variables, you didn't tell so. You don't need them to show the checkmark, once the 'book' has been read, checkmark will be visible.
Copy link to clipboard
Copied
Ah, I understand now Lilybiri.
I've built a test, using standard actions, but I don't see a way to tell the return to menu slide button to execute the standard action. Am I misunderstanding what you suggested?
Copy link to clipboard
Copied
??? Any event can trigger an advanced action, standard or conditional. Each button has two events: Success (when you click on the button) and After Last Attempt. Maybe have a look at my blog post which has a link to a table with all events available in Captivate:
Events and (advanced) Actions - Captivate blog
Your return to menu button can fire a standard action.
Copy link to clipboard
Copied
Thanks, Lilybiri.
I'm familiar with the "On success" actions. The "On success" action list shown for my return button includes Execute Advance Action, along with 21 others. However, Execute Standard Action is not in the list. Might it be named something that's less obvious? I'm using Captivate 6, if that makes a difference.
Since I've allowed infinite attempts for the return button, the After Last Attempt field is disabled.
Copy link to clipboard
Copied
Execute Advanced action is on that list since Captivate 5. Is that Return button not a custom button? I would use a shape button (of course), almost never use a normal button anymore, but both have Execute Advanced action on their list. That blog post was written for CP6 originally.
Copy link to clipboard
Copied
I just found it. There is no Execute Standard Action option, so I chose Execute Advanced Actions instead, and my standard action is in the choices. OK, now I'll move forward to see if this approach solves my problem.
Thanks so much! I'll let you know how it goes -
Copy link to clipboard
Copied
Standard and conditional are both advanced actions! Standard actions were the first, because they enabled to execute multiple commands from one event. I never spoke about Execute Standard action, that has never existed. Did you really suppose that only conditional actions were advanced? You can do quite a lot with standard actions as well: Toggle is one of those commands that lets you switch between two situations without having to use a condition, but I'm afraid it is not yet available in Captivate 6.
Copy link to clipboard
Copied
Problem solved. I assigned a different standard action to buttons on each slide that resulted in showing the check mark on the associated book. Previously, I'd been using conditional actions as "On Enter" to each slide itself.
Copy link to clipboard
Copied
Do you only have one variable tracking which books have been visited and your conditional action is basing the show or hide of check marks on the number shown in that one variable?
If so, then in order to get the interaction working the way you want, you need to have a SEPARATE tracking variable for each book. This variable should be either set to 0 or blank by default and only gets set to 1 when that book section gets visited.
Your conditional advanced action on the menu slide needs to have a separate decision block for each book that needs to show a tick based on whether or not that book's tracking variable is set to 1 or not.
Copy link to clipboard
Copied
Thanks, Rod.
I've done each of those things - defined different "visited" variables for each book, and set them initially to be "0". And a variable gets set to "1" if the book is visited. The main slide shows a check mark for a book only if the visited variable for that particular book has a value of "1". Or at least, that's what it's supposed to do. Right now, it's showing a check mark for each book on a shelf if a latter book on the same shelf was visited. In other words, if there are 5 books on a single shelf and the learner visits book 4, a check mark appears for books 1, 2, 3 and 4 (but not 5).
Any other ideas?