Revision as of 15:04, 16 April 2020 by StampDanFan (talk | contribs) (→‎Related Blocks: Clarified versions)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This article is about the value. For more information on the block that reports this value, see Timer (block).
An image of the timer on the project display.

The Timer is a feature in Scratch that records how much time, in seconds, have passed since the last time the green flag was clicked or the timer was reset.

The timer is extremely accurate and the value itself is not affected by lag.[citation needed]

Related Blocks

The two blocks related to the timer.

The timer is associated with two blocks, both found in the Sensing category:

Starting from Scratch 2.0, this block is also available:

How it works

The timer works in the following ways:

  • Continuously counts upwards by tenths of seconds
  • Cannot be paused or stopped (that would imply pausing or stopping the flow of time itself)
  • Shows seconds, not minutes or larger units, even when the current value is sixty seconds or longer
  • Resets only when the Green Flag is clicked or by execution of the Reset Timer block
  • Continues even when the project stops running

Alternatives

One workaround is to increment a "timer" variable by 1/30th every frame; since Scratch runs at 30 frames per second, this can approximate an increase of 1 per second.

when gf clicked
set [timer v] to [0]
forever
    wait (0) secs
    change [timer v] by ((1) / (30))

This is, however, slightly less accurate than the timer, especially if the frame rate drops below 30 fps, and can be affected by other scripts.[1]

Another workaround involves the Days Since 2000 block, which is itself a highly precise timer.

when gf clicked
set [timestamp v] to (days since 2000)
forever
set [timer v] to ((86400) * ((days since 2000) - (timestamp)))

The drawback to both of these workarounds is that the actual timer continues to increase after the project has been stopped, while these scripts do not.

Example Uses

The timer is commonly used in projects that require a clock of some sort, such as racing projects. Other uses include:

References