Stopwatch (analog and digital) created using a While loop (no JS). Start, Pause, Restart and Reset functionality are available.
Since a while I planned to:
- explain the use of the Timer (or its companion Hourglass) learning interaction
- create a new example of using the While condition in an advanced or shared action
For some reason every blog I write about Timing (not timeline) seems to attract lot of viewers. I have been using the Timer interaction several times, in combination with Time system variables. It is one of the rare interactions that allows you to have an action based on the expiration of a set time (jump to another slide) without having to play with variables and JS or advanced actions.
However that Timer interaction has several drawbacks:
- You cannot pause.
- You cannot control the start. It starts running whenever its timeline starts, even if it is hidden in output.
- You cannot restart after a pause, since you cannot pause.
- You cannot reset it.
Personally I am also bit frustrated by the While loop, because of the time lag between two executions of the command sequence in the loop. I could see a lot more possibilities if I could control that time lag. ‘Delay next actions’ is not always possible. However I suspected an unexplored possibility which I used in this example. Compare the time showed in the Timer interaction and the digital Stopwatch.
Have a look at the example file, it shows two very simple Stopwatches: a digital and an analog version. You are able to start them, to pause, restart after a pause and reset. They are very simple, show only seconds. Reason: for this first version I didn’t want to use JS, everything is done with advanced (or shared) actions.
The workflow step-by-step will be explained in a blog post. You’ll learn how to ‘break’ an eternal loop created with a While condition.
It is not a full course, only to show the created Stopwatches. There are multiple possibilities to include such a stopwatch in a course: to allows the learner to check time spend on slides, questions. Since the time is stored in a user variable it is also possible to use that to calculate total time… I would appreciate your ideas.
Some user variables, while loop and a Rotate effect were used. It is also possible to use multistate objects in the same workflow.