The general shape of a Reporter block.

A reporter block is a block that reports a value. These can be anything, from numbers to strings. Unlike a stack block, which changes something on the Stage, plays a sound, stops the script, or changes a variable, reporter blocks cannot be placed directly above or below another block. Instead, they are dropped into a number, text, or drop-down input; then when Scratch runs the block into which the reporter block has been dropped, it will first run the reporter block to find the value of the input. Reporter blocks can have inputs too, which may themselves be other reporter blocks. Boolean Blocks are a special kind of reporter block that report either "true" or "false".

To quickly view the value of a reporter, simply click it in the editor and Scratch will display the value in a small bubble.

Shape

This is an example of a Reporter Block:

(x position)

As reporter blocks report values, they are designed to fit wherever a value is needed. This can be anywhere: many blocks have spaces (parameters) within them or drop-down menus capable of inputting reporter blocks. For example:

glide () secs to x: () y: ()

This block can easily be filled with Reporter blocks:

glide (costume [number v]) secs to x: (x position) y: (y position)

Use

As reporter blocks report values, they are used whenever a script needs a certain value. These values can be anything — from X positions to the costume number of a sprite. Reporter blocks also need another block to work; they cannot stack like stack blocks.

For example, compare these two scripts:

when gf clicked
say [Hello,] for (1) secs
say [Gobo!] for (1) secs

when gf clicked
say [Hello,] for (1) secs
say (username) for (1) secs

In the first script, the message is predetermined. In the second script, a reporter block has been dropped into the first input of say [] for () secs, and so the message depends on the value of (username).

Because reporter blocks have inputs which may themselves be reporter blocks, (join [][]) can be used to show the same message, but all at one time:

when gf clicked
say (join [Hello, ] [Gobo!]) for (2) secs

when gf clicked
say (join [Hello, ] (username)) for (2) secs

Blocks

There are 30 reporter blocks in Scratch 3.0 (not including extensions), click on a block to find out more about it.

Motion

Looks

Sound

There are no events or control reporter blocks.

Sensing

Operators

Variables

Note Note: The possible number of reporters is infinite, as there is no limit to how many variable and list reporter blocks can be created.