m (Experimental Control Blocks in 2.0)
m (fixed)
 
(43 intermediate revisions by 16 users not shown)
Line 1: Line 1:
'''Experimental blocks''' were [[blocks]] that did not work well and therefore did not appear in the [[Block Palette]]. They were available from [[Scratch 1.0]] through [[Scratch 1.2|1.2]]. 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.
+
{{obsolete feature}}
 +
'''Experimental blocks''' were [[blocks]] that did not work well and therefore did not appear in the [[Block Palette]]. They were available from [[Scratch 1.0]] through [[Scratch 1.2|1.2]] and [[Scratch 2.0|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==
 
==Sound Blocks==
 
[[File:Experimental sound blocks.png|frame|The 13 experimental Sound blocks.]]
 
[[File:Experimental sound blocks.png|frame|The 13 experimental Sound blocks.]]
 
There were 13 experimental [[Sound Blocks]]. All were [[Stack Blocks|Stack-shaped]]. They were:
 
There were 13 experimental [[Sound Blocks]]. All were [[Stack Blocks|Stack-shaped]]. They were:
*<sb>start movie // category=sound</sb>
+
* <sb>start movie::sound</sb>
*<sb>stop movie // category=sound</sb>
+
* <sb>stop movie::sound</sb>
*<sb>change seconds by () // category=sound</sb>
+
* <sb>change seconds by (1)::sound</sb>
*<sb>set seconds to () // category=sound</sb>
+
* <sb>set seconds to (0)::sound</sb>
*<sb>change zoom by () // category=sound</sb>
+
* <sb>change zoom by (10)::sound</sb>
*<sb>set zoom to ()% // category=sound</sb>
+
* <sb>set zoom to (100) %::sound</sb>
*<sb>change horiz. pan by () // category=sound</sb>
+
* <sb>change horiz. pan by (10)::sound</sb>
*<sb>set horiz. pan to () // category=sound</sb>
+
* <sb>set horiz. pan to (0)::sound</sb>
*<sb>change vert. pan by () // category=sound</sb>
+
* <sb>change vert. pan by (10)::sound</sb>
*<sb>set vert. pan to () // category=sound</sb>
+
* <sb>set vert. pan to (0)::sound</sb>
*<sb>change fade by () // category=sound</sb>
+
* <sb>change fade by (10)::sound</sb>
*<sb>set fade to ()% // category=sound</sb>
+
* <sb>set fade to (100) %::sound</sb>
*<sb>set fade color to [#000000] // category=sound</sb>
+
* <sb>set fade color to [#000000]::sound</sb>
The fade blocks were later changed to say "trans." (short for "transparent"){{fact|when?}}.
+
The fade blocks were later changed to say "trans." (short for "transparent"){{fact|when?|date=July 2016}}.
  
 
These blocks were likely for use with the [[Scratch MoviePlayerMorph]].
 
These blocks were likely for use with the [[Scratch MoviePlayerMorph]].
Line 24: Line 25:
 
[[File:Experimental sensing blocks.png|frame|left|The 9 experimental Sensing blocks]]
 
[[File:Experimental sensing blocks.png|frame|left|The 9 experimental Sensing blocks]]
 
There were 9 experimental [[Sensing Blocks]]. 6 were [[Reporter Blocks]], and 3 were Stacks. They were:
 
There were 9 experimental [[Sensing Blocks]]. 6 were [[Reporter Blocks]], and 3 were Stacks. They were:
*<sb>(camera motion) // category=sensing</sb>
+
* <sb>(camera motion::sensing)</sb>
*<sb>(camera direction) // category=sensing</sb>
+
* <sb>(camera direction::sensing)</sb>
*<sb>(camera relative x) // category=sensing</sb>
+
* <sb>(camera relative x::sensing)</sb>
*<sb>(camera relative y) // category=sensing</sb>
+
* <sb>(camera relative y::sensing)</sb>
*<sb>(camera absolute x) // category=sensing</sb>
+
* <sb>(camera absolute x::sensing)</sb>
*<sb>(camera absolute y) // category=sensing</sb>
+
* <sb>(camera absolute y::sensing)</sb>
 
[[File:Experimental sensing readouts.png|thumb|The readouts of the reporter blocks, all showing "a ScratchSpriteMorph()".]]
 
[[File:Experimental sensing readouts.png|thumb|The readouts of the reporter blocks, all showing "a ScratchSpriteMorph()".]]
*<sb>track motion // category=sensing</sb>
+
* <sb>track motion::sensing</sb>
*<sb>track color // category=sensing</sb>
+
* <sb>track color::sensing</sb>
*<sb>auto calibrate red // category=sensing</sb>
+
* <sb>auto calibrate red::sensing</sb>
  
These blocks appear to be intended for camera sensing, but in all version of Scratch include them, they do not work and their stage monitors simply display "a ScratchSpriteMorph()".
+
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()".
 
True [[Watch Me Move!|camera support]] was later added in [[Scratch 2.0]].
 
True [[Watch Me Move!|camera support]] was later added in [[Scratch 2.0]].
  
 
==Experimental Control Blocks in 2.0==
 
==Experimental Control Blocks in 2.0==
Recently, there were 5 experimental blocks in the control category available in Scratch 2.0 are still left over but still can be used, as they are still red. In alpha versions, these blocks used to be a yellow-green color.<ref>http://scratch.mit.edu/projects/25344202/#editor</ref> 1 was reporter, 2 were stacks, and 2 were [[C Block]]s. They were:
+
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. The counter blocks were introduced in the very first Scratch 2.0 (prealpha) versions, and "While ()" and "For Each () in ()" were introduced in v138.<ref>http://scratch.mit.edu/projects/25344202#editor</ref> 1 is a reporter, 2 are stacks, and the other 2 are [[C Block]]s. The experimental blocks are still present in [[Scratch 3.0]]. They are:
*<sb>(counter) // category=control</sb> (currently called "noop")
+
* <sb>(counter :: control)</sb> (called "noop" due to 2 copies of the block spec{{citation needed|date=January 2018}}, fixed in Scratch 3.0)
*<sb>clear counter // category=control</sb>
+
* <sb>clear counter :: control</sb>
*<sb>incr counter // category=control</sb>
+
* <sb>incr counter :: control</sb>
*[[File:While ().png|While ()]]
+
*
*<sb>for each [ v] in [] // category=control</sb> (C block)
+
<scratchblocks>while <> {
 +
} :: control</scratchblocks>
 +
*
 +
<scratchblocks>for each [v v] in (10) {
 +
} :: control</scratchblocks>
  
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. For some reason, this block is called "noop".
+
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.
  
 
The '''Clear Counter''' block resets the counter value to 0.
 
The '''Clear Counter''' block resets the counter value to 0.
Line 52: Line 57:
 
The '''Incr Counter''' block increases the counter value by 1.
 
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 Block|boolean]] statement is false, which works like a [[Repeat Until () (block)|Repeat Until (Not ())]] block. The block has no repeat arrow for some reason, but still works.<ref>http://scratch.mit.edu/projects/1179517/#editor</ref>
+
The '''While ()''' C block makes blocks held inside this block loop until the specified [[Boolean Block|boolean]] statement is false, which works like a [[Repeat Until () (block)|Repeat Until (Not ())]] block.<ref>http://scratch.mit.edu/projects/1179517/#editor</ref>
  
The '''For Each () in ()''' C block works like the [[Repeat ()]] C block, except a variable that counts up each time the stack ran. For some reason, if you make a variable, a variable and the variable blocks will appear, but there are no variable choices in the block. Also, The number uses a string input instead of a number input. And as mentioned above, the block has no repeat arrow.<ref>http://scratch.mit.edu/projects/21950622/#editor</ref>
+
The '''For Each () in ()''' C block works like the [[Repeat ()]] C block, except a variable that counts up each time the stack ran. For some reason, if you make a variable, a variable and the variable blocks will appear, but because of an error, there are no variable choices in the block. Also, another error; the number uses a string input instead of a number input. Those errors have been fixed in Scratch 3.0.<ref>http://scratch.mit.edu/projects/21950622/#editor</ref>
 +
 
 +
===Workarounds===
 +
Because of the 5 blocks' straightforward function, all of those can be replicated with the following codes:
 +
 
 +
====Counter====
 +
<scratchblocks>(counter) // Using a variable</scratchblocks>
 +
 
 +
====Clear Counter====
 +
<scratchblocks>set [counter v] to [0]</scratchblocks>
 +
 
 +
====Incr Counter====
 +
<scratchblocks>change [counter v] by (1)</scratchblocks>
 +
 
 +
====While ()====
 +
<scratchblocks>
 +
repeat until <not <. . . :: grey>>
 +
. . .
 +
end
 +
</scratchblocks>
 +
 
 +
====For Each () in ()====
 +
<scratchblocks>
 +
set [i v] to [0]
 +
repeat (. . . :: grey)
 +
change [i v] by (1)
 +
. . .
 +
end
 +
</scratchblocks>
 +
 
 +
==See Also==
 +
* [[List of Obsolete Blocks]]
  
 
==References==
 
==References==
 
<references/>
 
<references/>
  
==See Also==
+
{{Removed Blocks}}
*[[List of Obsolete Blocks]]
+
{{Experimental Blocks}}
 
 
{{Template:Removed Blocks}}
 
{{Template:Experimental Blocks}}
 
 
[[Category:Block Types]]
 
[[Category:Block Types]]
 +
[[ja:実験ブロック]]

Latest revision as of 03:11, 14 February 2019

Archive.png 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 did not work well and therefore 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

The 13 experimental 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 [#000000]::sound

The fade blocks were later changed to say "trans." (short for "transparent")[problematic].

These blocks were likely for use with the Scratch MoviePlayerMorph.

Sensing Blocks

The 9 experimental 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)
The readouts of the reporter blocks, all showing "a ScratchSpriteMorph()".
  • 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()". 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. The counter blocks were introduced in the very first Scratch 2.0 (prealpha) versions, and "While ()" and "For Each () in ()" were introduced in v138.[1] 1 is a reporter, 2 are stacks, and the other 2 are C Blocks. The experimental blocks are still present in Scratch 3.0. They are:

  • (counter :: control) (called "noop" due to 2 copies of the block spec[citation needed], fixed in Scratch 3.0)
  • clear counter :: control
  • incr counter :: control
while <> {
} :: control
for each [v v] in (10) {
} :: control

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.

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, which works like a Repeat Until (Not ()) block.[2]

The For Each () in () C block works like the Repeat () C block, except a variable that counts up each time the stack ran. For some reason, if you make a variable, a variable and the variable blocks will appear, but because of an error, there are no variable choices in the block. Also, another error; the number uses a string input instead of a number input. Those errors have been fixed in Scratch 3.0.[3]

Workarounds

Because of the 5 blocks' straightforward function, all of those can be replicated with the following codes:

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

  1. http://scratch.mit.edu/projects/25344202#editor
  2. http://scratch.mit.edu/projects/1179517/#editor
  3. http://scratch.mit.edu/projects/21950622/#editor