I have created a team-based game show style quiz which includes a scoreboard. It's intended as a resource for our trainers to use in the classroom.
Everything works as it should - the quizmaster navigates to a question slide and allocates points to the current team based on the answers they give him/her. In doing so, they navigate back to the scoreboard which is now updated with the appropriate number of points being added to the relevant team's total.
I now want to be able to manually add or subtract points from a team's total. I've added buttons to the scoreboard slide to accomplish this, and they do work (clicking on the + symbol for the blue team increases their score by 1 etc).
The problem is that the scoreboard totals don't update immediately - I have to navigate away from the scoreboard and then back again to see the new score. Is there a way of getting the displayed scores to update as and when they change, without having to leave the slide?
I'm using Captivate 9
Each team score is a user variable
The buttons I'm using trigger a shared action that adds or subtracts 1 to the appropriate team score variable (the only parameter)
Still on version 9? Sure about that? I don't have that version anymore, can only test on version 11.5. Refreshing the slide is something that can indeed be necessary but can be done very quickly by re-entering the slide using micro-navigation.
I work for a public sector organisation with a stretched IT department who tend to focus on those systems that have public and staff safety implications, so yes we are still on Captivate 9. An upgrade is 'on the list' so to speak, but we're well used to having to wait and make do with older versions of software! 🙂
Thanks for your reply - to implement your advice, are you saying I should just add a 'Jump to Slide' action to the shared action (set to the current slide), or is there something more appropriate?
Not sure that will work on version 9 and for HTML output (it did for SWF output). You need really to re-enter the slide, that is why I mentioned micro-navigation. Two ways are possible, have documented one in a blog post (second scenario):
Not totally your use case, but you'll figure it out.
Second way, is to insert a very short dummy slide (0.1sec) before the present slide, and use these commands
Since the playhead is released, the present slide will be re-entered almost immediately Neither command needs a parameter. Since you use a shared action (my fav) this may be a better way.
So you're using a shape with $$variableName$$ inside of it and it does not dynamically change?
That's my 'Go To' troubleshooting tactic to see if my variables are incrementing the way I want them to.
If they don't - it is my clue that I got something wrong in my setup.
But I can honestly say I cannot recall a time when everything was set up correctly and variables didn't update.
Are you doing some sort of calculation onEnter rather than having the actions all run on the button presses?
Thanks @Stagprime - you're thoughts prompted me to do a bit more testing...
I added another caption with the same variable in it and re-published. Everything with that works properly - the figure changes dynamically as you'd expect.
There is one difference between the two captions...
In order to give the trainer as much flexibility and choice as possible, when they set up the gameshow they can set not only the number of teams taking part (up to six), but also which team names they use. So they choose as many as they want from the Blue, Green, Black, Red, Yellow and Purple teams.
Captivate then ensures that only the selected teams are displayed on the scoreboard. Rather than having the team names occupy set positions on the board, which could look odd (for example if only the 2nd and 5th listed teams are playing), I've got it so that they occupy the top spaces on the board, which I've achieved using states.
The same approach is in play for the scores This means that the each score caption has six custom states (one for each possible team). So if the team at the top of the board is Team Black, the corresponding score caption is set to state Black, where it contains the Black Team's score variable.
So the question now is why a variable contained within a custom state isn't updating dynamically? Or, more importantly, how can I get it to?
Would changing the object state to the same state again (i.e. changing it without changing it!) force it to update?
Ahhh... now that you mention it, I do recall coming across this back when I had Captivate 9 and it was only when I was trying to update the variables in a changed state. I seem to recall being bummed that it didn't work.
At some point I recall trying again on a newer release and it was working.
I still have an old laptop with Captivate 126.96.36.1997 - not sure if that is the latest version of Captivate 9 or not but I can confirm that the changed state does not update until you come to it a second time.
I setup a button to cycle states, a box to display three different variables, and three buttons to increment each of the three variables. All variables incremented but the display did not update until I cycled back to it.
I can also confirm that it works great in CP2019 188.8.131.529
If there is a newer patch to version 9 and TLCMediaDesign says it works there - perhaps that is the solution.
I did find a functional work around in my copy of Captivate 9.
It may or may not work for your particular application though but may be worth a try.
It worked for me but my set up is a bit less complicated.
Here is what I did.
On my button to increment the variable I used the 'Go To Next State' option as many times as I needed to cycle back around to that particular state again.
So I had three variables and my display had three states. So if I am on state 3 and I press the button to increment the score for state 2 - my action changes the state to state 2 then increments the variable, then goes to the next state three times so that it cycles back to showing the state 2 again but it happens so fast that you don't notice it.
I've just tested your set up in CP9 and my total updates immediately.
Can you show or describe in detail how yours is set up?
Thanks @TLCMediaDesign - please see my (rather lengthy) response to Stagprime above... any thoughts?
It's odd and I have no idea why it doesn't work the way you would think.
In the action to increment and set the correct state I just added a command to change the state to normal, then to "black" and it works. The normal state is blank.
The action is:
Change state to normal
Change state to Black
Ha - I tried this first and it wasn't working so I tried the goToNextState thing.
I realize now that I had a typo in my state change going back to Normal. Ugh.
Yeah - this would be the leaner way to go.
Thank you both for your time and effort. I'm away from the office today, so I'll give it a shot on Monday but it certainly makes sense and I look forward to getting it working!