(Almost) Everything you ever will need to know about Scratch is contained here.
Note that this is always under construction.
General Terms
blocks:
inputs:
() shows a number input or start and end of a reporter block.
[] shows a text input or start and end of a command block.
( -) shows a number drop-down menu.
[ -] shows a text drop-down menu.
[_] shows a color input or checkable/showable icon.
<> shows a boolean input or the start and end of a boolean block.
types:
command: commands a sprite to do an action.
reporter: reports a number.
boolean: reports true or false.
other:
Drop-down menu choices will be listed in a subcategory of the block.
/\ at the start and end of a block shows that it starts a script.
{} at the start and end of a block shows that it ends a script.
⤴ contained in the block shows that it has blocks inside of it and repeats.
⇓ contained in the block shows that it has blocks inside of it.
Reporter blocks can fit in all number inputs, all text inputs, all number
drop-down menus, and text drop-down menus where the items are
created from the block.
Boolean blocks can also be entered in all text inputs and text drop-down
menus where the items are created from the block.
Scratch Application
blocks:
Motion:
normal:
commands:
[move (10) steps] : Moves the current sprite 10 steps in its current
direction.
[turn ⤾/⤿ (15) degrees] : Turns a sprite 15 degrees in either direction
[point in direction (90 -)] : point in a direction.
----------
(90) right
(-90) left
(0) up
(180) down
[point towards [ -]] : Tells the sprite to point toward an object.
----------
SPRITES
mouse-pointer
[go to x: (0) y: (0)] : Tells the sprite to go to a coordinate on the stage.
[go to [ -]] : Tells the sprite to go to an object.
----------
SPRITES
mouse-pointer
[glide (1) secs to x: (0) y: (0)] : Tells the sprite to move to the
coordinates (0, 0) taking 1 second.
[change x by (10)] : Changes the sprite's x-position by 10.
[set x to (0)] : Sets the sprite's x-position to 0.
[change y by (10)] : Changes the sprite's y-position by 10.
[set y to (0)] : Sets the sprite's y-position to 0.
[if on edge, bounce] : Tells the sprite that if it is touching the edge it
needs to back up.
reporters:
[_] (x-position) : Reports the x-position of the sprite.
[_] (y-position) : Reports the y-position of the sprite.
[_] (direction) : Reports the direction of the sprite.
booleans:
None.
We-Do:
commands:
[motor on for (1) secs] : Turns the motor on for 1 second.
[motor on] : Turns the motor on.
[motor off] : Turns the motor off.
[motor power (100)] : Sets the motor power to 100.
[motor direction [this way -]] : Sets the motor direction to this way.
----------
this way
that way
reverse
other:
Number of blocks: 16. (21 including We-Do)
Block color: Blue.
Control:
commands:
/When green flag clicked\ : This starts all scripts that begin with this
when the green flag is clicked.
/When [space -] key pressed\ : This starts all scripts the begin with this
when the space key is pressed.
----------
space
ARROWS
LETTERS
NUMBERS
/When SPRITE clicked\ : This starts all scipts that begin with this when
the sprite is clicked.
[wait (1) secs] : This block waits 1 second before continuing the script.
{forever} ⤴ : Does the actions inside of it forever.
[repeat (10)] ⤴ : Does the actions inside of it 10 times.
[broadcast [ -]] : Broadcasts something to all sprites in the program.
----------
BROADCASTS
new
[broadcast [ -]] and wait] : Broadcasts something to all sprites in the
program and waits for something to happen.
----------
BROADCASTS
new
/When I recieve [ -]\ : Starts all scripts that begin with this when a
certain broadcast is recieved.
----------
BROADCASTS
new
{forever if <> } ⤴ : It always does the actions inside of it if the boolean
value is true.
[if <> ] ⇓ : If the boolean value is true it does the blocks inside of it.
[if <> ]/[else] ⇓ : If the boolean value is true it does the blocks from the
[if <> ] to the [else] and if it is false it does the blocks from the
[else] to the end of the if.
[wait until <> ] : This block waits until the boolean value is true before
letting the script continue.
[repeat until <> ] ⤴ : This block repeats the blocks inside of it until the
boolean value is true.
{stop script} : Stops the script that this is contained in.
{stop all} : Stop everything.
reporters:
None.
booleans:
None.
other:
Number of blocks: 16.
Block color: Orange.
Looks:
commands:
[switch to costume [costume1 -]] : Switch to a certain costume.
[next costume] : Switch to the next costume.
[say [Hello!] for (2) secs] : Makes the sprite "say" "Hello!" for 2 seconds.
[say [Hello!]] : Makes the sprite "say" "Hello!" until something else is
said, though, or the program is stopped.
[think [Hmm...] for (2) secs] : Makes the sprite "think" "Hmm..." for 2
seconds.
[think [Hm...]] : Makes the sprite "think" "Hmm..." until something else is
said, though, or the program is stopped.
[change [color -] effect by (25)] : Changes the selected effect by 25.
----------
color
fisheye
whirl
pixelate
mosaic
brightness
ghost
[set [color -] effect to (0)] : Sets the selected effect to 0.
----------
color
fisheye
whirl
pixelate
mosaic
brightness
ghost
[clear graphic effects] : clears all graphic effects for that sprite.
[change size by (10)] : Changes the size of the sprite by 10.
[set size to (100) %] : Sets the sprite's size to 100%.
[show] : shows the sprite.
[hide] : hides the sprite.
[go to front] : Tells the sprite to go in front of all the other sprites.
[go back (1) layers] : Tells the sprite to go behind the sprite 1 layer
behind it.
reporters:
[_] (costume #) : Reports the sprite's current costume #.
[_] (size) : Reports the sprite's current size.
booleans:
None.
other:
Number of blocks: 17.
Block Color: Purple.
Sensing:
normal:
commands:
[ask [What's your name?] and wait] : Asks the user to input an answer
to the question "What's your name?"
[reset timer] : resets Scratch's internal timer.
reporters:
[_] (answer) : The answer to the last question asked with the [ask]
block.
(mouse x) : The mouse-pointer's x coordinate on the stage.
(mouse y) : The mouse-pointer's y coordinate on the stage.
(distance to [ -]) : Distance to a sprite.
----------
SPRITES
mouse-pointer
[_] (timer) : The value of Scratch's internal timer.
([x position -] of [SPRITE -]) : different values of sprites.
----------
1:
w/ Sprite:
x position
y position
direction
costume #
size
volume
SPRITE'S VARIABLES
w/ Stage
background #
volume
STAGE'S VARIABLES
2:
Stage
Sprites
[_] (loudness) : Reports the sound level as a percentage.
booleans:
<touching [ -] ?> : Reports true if the sprite is touching another object.
----------
mouse-pointer
edge
sprites
<touching color [_] ?> : Reports true if the sprite is touching a
certain color.
<color [_] is touching [_]?> : Reports true if the first color (on the
sprite) is touching the second color.
<mouse down'?> : Reports true if the mouse is being clicked.
<key [space -] pressed?> : Reports true if the specified key is
pressed.
----------
space
ARROWS
LETTERS
NUMBERS
[_] <loud'?> : Reports if the loudness level is above a certain
threshold.
Sensor boards
commands:
None.
reporters:
[_] ([slider -] sensor value) : Reports the value for the slider on the
sensor board.
----------
slider
light
sound
resistance-A
resistance-B
resistance-C
resistance-D
tilt
distance
booleans:
[_] <sensor [button pressed -] ?> : Reports true if the button is
pressed.
----------
button pressed
A connected
B connected
C connected
D connected
other:
Number of blocks: 17.
Block color: Light blue.
Sound:
commands:
[play sound [meow -]] : Plays the selected sound.
----------
SOUNDS
record...
[play sound [meow -] until done] : Plays the selected sound until it is
done.
----------
SOUNDS
record...
[stop all sounds] : Stops all sounds.
[play drum (48 -) for (0.2) beats] : Plays the selected drum for 0.2 beats.
----------
DRUMS 35 TO 81
[rest for (0.2) beats] : Waits 0.2 beats before going on.
[play note (60 -) for (0.5) beats] : Plays the selected note for 0.5 beats.
----------
PIANO: NOTES 48 TO 72
[set instrument to (1 -)] : Sets the instrument to the selected number.
----------
INSTRUMENTS 1 TO 128
[change volume by (-10)] : Changes the sprite's volume by -10.
[set volume to (100) %] : Sets the sprite's volume to 100%.
[change tempo by (20)] : Changes the sprite's tempo by 20.
[set tempo to (60) bpm] : Sets the sprite's tempo to 60 beats per
minute.
reporters:
[_] (volume) : Reports the sprite's volume.
[_] (tempo) : Reports the sprite's tempo.
booleans:
None.
other:
Number of blocks: 13.
Block color: Pink.
Operators:
commands:
None.
reporters:
( ( ) + ( ) ) : Adds two numbers.
( ( ) - ( ) ) : Subtracts a number from another number.
( ( ) * ( ) ) : Adds two numbers.
( ( ) / ( ) ) : Divides a number by another number.
(pick random (1) to (10)) : Reports a random number from 1 to 10.
(join [hello ][world]) : Reports the two text strings as a whole.
(letter (1) of [world]) : Reports the first letter of world.
(length of [world]) : Reports how long the string "world" is.
( ( ) mod ( ) ) : The remainder of a number divided by another number.
(round ( ) ) : A number rounded to the nearest integer.
([sqrt -] of 10) : Reports the square root of 10.
----------
abs
sqrt
sin
cos
tan
asin
acos
atan
ln
log
e^
10^
booleans:
< [] < [] > Reports true if the first number is less than the second.
< [] = [] > Reports true if the first number or string is equal to than the second.
< [] > [] > Reports true if the first number is more than the second.
< <> and <> > : Reports true if the first boolean and the second boolean
are true.
< <> or <> > : Reports true if the first boolean or the second boolean are
true.
< not <> > : Reports true if the boolean contained is not true.
other:
Number of blocks: 17.
Block color: Light green.
Pen:
commands:
[clear] : Clears all pen marks and stamps.
[pen down] : Puts the "pen" down on the current sprite so it draws.
[pen up] : Puts the "pen" up on the current sprite so it doesn't draw.
[set pen color to [_]] : Sets the pen color.
[change pen color by (10)] : Changes the color of the pen by 10.
[set pen color to (0)] : Sets the pen color to 0.
[change pen shade by (10)] : Changes the shade of the pen by 10.
[set pen shade to (50)] : Sets the shade of the pen to 50.
[change pen size by (1)] : Changes the size of the pen (in pixels) by 1.
[set pen size to (1)] : Sets the size of the pen (in pixels) to 1.
[stamp] : Stamps down an image of the sprite in its current position.
reporters:
None.
booleans:
None.
other:
Number of blocks: 11.
Variables:
variables:
commands:
[set [Variable -] to [0]] : Sets the variable selected to 0.
----------
VARIABLES
[change [Variable -] by (1)] : Changes the selected variable by 1.
----------
VARIABLES
[show variable [Variable -] : Shows the selected variable.
----------
VARIABLES
[hide variable [Variable -] : Hides the selected variable.
----------
VARIABLES
reporters:
[_] (Variable) : Reports the value of the variable shown.
booleans:
None.
other:
NOTE: a reporter block ((Variable)) is asaigned to every variable.
Number of blocks: 4 + # of variables
Block color: Dark orange.
lists:
commands:
[add [thing] to [List -]] : Adds "thing" to the end of the selected list.
----------
LISTS
[delete (1 -) of [List -]] : Deletes the first item of the selected list.
----------
1:
1
last
all
2:
LISTS
[insert [thing] at (1 -) of [List -]] : Inserts "thing" at the specified
number of the specified list.
----------
1:
1
last
any
2:
LISTS
[replace item (1 -) of [List -] with [thing]] : Replaces item 1 of the
specified list with thing.
----------
1:
1
last
any
2:
LISTS
reporters:
[_] (List) : Reports the value of all the items of the list shown joined
together.
(item (1 -) of [List -]) : Reports the value of the first item of the
specified list.
----------
1:
1
last
any
2:
LISTS
(length of [List -]) : Reports how many items the specified list has.
----------
LISTS
booleans:
< [List -] contains [thing] > : Reports if the specified list has "thing" in
it.
----------
LISTS
other:
NOTE: A reporter block ((List)) is asaigned to every list.
Number of blocks: 7 + Number of lists.
Block color: Red.
buttons:
variables:
[Make a variable] : Makes a new variable. Enter its name and
whether it is for all sprites or for one sprite.
[Delete a variable] : Deletes a variable. Select from the list of
variables.
lists:
[Make a list] : Makes a new list. Enter its name and whether it is for
all sprites or for one sprite.
[Delete a list] : Deletes a list. Select from the list of lists.
Scratch Website
Always there:
Scratch Logo: Provides a link to the Scratch Homepage.
The links bar: Provides links to the Scratch homepage, projects, galleries,
support. forums, and your stuff.
User Bar: Provides a link to your stuff and a way to log out.
Notifications: Shows how many messages you have and provides a link to the
notifications page.
The website:
http://www.scratch.mit.edu : The homepage of Scratch. Displays the newest
projects, featured projects, your friends' newest projects, projects
selected by the curator, projects from the Scratch Design Studio, and the
top 3 remixed, loved, and viewed lately. Also displays what the current
Design Studio is, Featured galleries, popular tags, recent visitors, newest
members, and Scratch statistics.
The forums:
Other Resources
Forums:
ScratchText
Tutorials:
About:
Blocks
Other:
The Almighty Scrationary
Progress:
8/3/09: Started. Finished Motion, Control, Looks, Sensing, Sound, Operators. Added a couple of links.
8/4/09: Finished Pen and Variables.
Remember to post a link to any useful information about Scratch you have found and I will put it in the Other Resources tab.
I can always use suggestions!
Last edited by The-Whiz (2009-08-09 16:40:19)
Offline
This is very helpful, and includes some stuff I didn't bother to include because I wasn't really focusing on that topic. I added it twice to my Almighty Scrationary.
Offline
You forgot the term 'norberts' xD
eg. in sentences: You're such a norberts!
You're norberting up the place!
Stop throwing norberts at me
Offline
I think many Scratch Users can find this helpful. I'll have it stickied.
Offline
Yay this got stickied! This will help a bunch of people!
Last edited by turtlewarrior (2009-08-05 10:15:51)
Offline
Overall, this has lots of great information on the blocks! If you don't mind, I'd love to add the main titles and some of the information on the blocks to the Scratch Wikia Page Blocks and you could put a link to there for more information. I personally think this is nice to be stickied. Also put a link to the Help Screens on blocks, as they have many examples and such. On the Blocks Scratch Wikia Page, at the bottom at external links, it is there too
Offline
Yeah, right now I'm adding all of your special titles (for example [turn ⤾/⤿ (15) degrees]) to the pages. It's a big help!
Offline
Uh, what is the maximum size of file that can be uploaded to the Scratch Website?
Offline
Hmm its a little glitchy because the Wiki doesn't do colored text, but it just involves a little fixing up
Offline
RacerZmanx1 wrote:
Uh, what is the maximum size of file that can be uploaded to the Scratch Website?
10MB (megabytes), and also 1000KB (kilobytes) are 1MB, if you're looking at your file sizes.
Offline
Ok I finished editing the motions, now for the looks category editing....
Offline
Lucario621 wrote:
Overall, this has lots of great information on the blocks! If you don't mind, I'd love to add the main titles and some of the information on the blocks to the Scratch Wikia Page Blocks and you could put a link to there for more information. I personally think this is nice to be stickied. Also put a link to the Help Screens on blocks, as they have many examples and such. On the Blocks Scratch Wikia Page, at the bottom at external links, it is there too
![]()
Ok I added a link to the Help Screens.
Offline
The-Whiz wrote:
Lucario621 wrote:
Yeah, right now I'm adding all of your special titles (for example [turn ⤾/⤿ (15) degrees]) to the pages. It's a big help!
Glad I could help...
Yeah! lol
Offline
Make sure you check the scratch wikia page out though. Also add the we-do blocks.
Last edited by Lucario621 (2009-08-05 12:36:26)
Offline
Wow that must have taken a long time to make!
Offline
Hey! You forgot a block! In the looks, you need "clear all graphical effects". No big problem though, just re-add it.
Offline
Lucario621 wrote:
Hey! You forgot a block! In the looks, you need "clear all graphical effects". No big problem though, just re-add it.
Oh... When did that block appear?
I fixed it now.
Last edited by The-Whiz (2009-08-05 14:23:41)
Offline
Wow, this is awesome! Great job!
Offline