This article or section documents something not included in the current version of Scratch (3.0). It is only useful from a historical perspective. |
Experimental blocks were blocks that were experimental and unofficial, and did not appear in the Block Palette. They were available from Scratch 1.0 through 1.2 and 2.0. In 1.0, they were accessed by shift-clicking the Extras menu and choosing "show experimental blocks"; in 1.1 and 1.2, through Shift-Click-R. They are similar to the Motor Blocks, which are also not displayed by default; however, the Motor blocks are fully functional.
Sound Blocks
There were 13 experimental Sound Blocks. All were Stack-shaped. They were:
start movie::sound
stop movie::sound
change seconds by (1)::sound
set seconds to (0)::sound
change zoom by (10)::sound
set zoom to (100)%::sound
change horiz. pan by (10)::sound
set horiz. pan to (0)::sound
change vert. pan by (10)::sound
set vert. pan to (0)::sound
change fade by (10)::sound
set fade to (100)%::sound
set fade color to [#F00]::sound
These blocks had no functionality, and were likely intended for use with the Scratch MoviePlayerMorph. The blocks were removed in Scratch 05May08.
Sensing Blocks
There were 9 experimental Sensing Blocks. 6 were Reporter Blocks, and 3 were Stacks. They were:
(camera motion::sensing)
(camera direction::sensing)
(camera relative x::sensing)
(camera relative y::sensing)
(camera absolute x::sensing)
(camera absolute y::sensing)
track motion::sensing
track color::sensing
auto calibrate red::sensing
These blocks appear to be intended for camera sensing, but in all versions of Scratch that include them, they do not work and their Stage Monitors simply display "a ScratchSpriteMorph()". The blocks were removed in Scratch 15May08. True camera support was later added in Scratch 2.0.
Experimental Control Blocks in 2.0
Scratch 2.0 contains 5 extra experimental blocks not available through normal means. In alpha versions, these blocks used to be a yellow-green color. 1 is a reporter, 2 are stacks, and the other 2 are C Blocks. These experimental blocks are still present in Scratch 3.0 in the form of hidden blocks. They are:
(counter:: #c3af00)
(called "noop" due to 2 copies of the block spec being present, fixed in Scratch 3.0)clear counter:: #c3af00
incr counter:: #c3af00
while <> { }:: #c3af00
-
for each [ v] in [] { }:: #c3af00
The Counter reporter block reports the value how many times the "Incr Counter" block is used. If "Clear Counter" is used, the value resets to 0. It is a local reporter block, which means that two sprites can have different values for counter, similar to local variables.
The Clear Counter block resets the counter value to 0.
The Incr Counter block increases the counter value by 1.
The While () C block makes blocks held inside this block loop until the specified boolean statement is false.[1]
The For Each () in () C block works like the Repeat () block, except a specific variable of choice is incremented each time the stack ran. Due to a mistake, the input used a string input instead of a number input. This error was fixed in Scratch 3.0.[2]
Workarounds
Because of the 5 blocks' straightforward functionality, all of them can be replicated with the following workarounds:
Counter
(counter) // Using a variable
Clear Counter
set [counter v] to [0]
Incr Counter
change [counter v] by (1)
While ()
repeat until <not <. . .:: grey>> . . . end
For Each () in ()
set [i v] to [0] repeat (. . .:: grey) change [i v] by (1) . . . end
See Also
References
Sound Blocks |
Start Movie • Stop Movie • Change Seconds by () • Set Seconds to () • Change Zoom by () • Set Zoom to ()% • Change horiz. pan by () • Set horiz. pan to () • Change vert. pan by () • Set vert. pan to () • Change Fade by () • Set Fade to ()% • Set Fade Color to () |
Control Blocks |
Counter • Clear Counter • Incr Counter • For Each () in () • While () |
Sensing Blocks |
Camera Motion • Camera Direction • Camera Relative X • Camera Relative Y • Camera Absolute X • Camera Absolute Y • Track Motion • Track Color • Auto Calibrate Red |