Eng:Scratch User Interface

The user interface for the Scratch development environment divides the screen into several panes: on the left is the stage and sprite list, in the middle the blocks palette, and on the right the scripts/costumes/sounds editors. The block palette has code fragments (called "blocks") that can be dragged onto the scripts area to make programs (called projects). To keep the palette from being too big, it is organized into 10 groups of blocks: Motion, Looks, Sound, Pen, Data, Events, Control, Sensing, Operators, and More Blocks (custom-built blocks and extensions). Also included in the More Blocks category are LEGO WeDo Blocks and PicoBoard Blocks.

Intent
In designing Scratch, the Scratch Team's main priority was to make its language and development environment intuitive and easily learned by children who have had no previous programming experience. There is a strong contrast between the powerful multimedia functions and multi-threaded programming style and the rather limited scope of the Scratch programming language. So tasks easy in high-level programming languages are sometimes tough in Scratch (e.g. multidimensional arrays) while tasks easy in Scratch are hard in many high-level programming languages (sprite-like graphics, sensing the ambient noise, etc.).

Palettes and Panes
Scratch has a simple and easy to use interface. Its design allows users of all ages and experience levels to create projects. In order to do this, the program divides the different parts of Scratch into Palettes and Panes.

Block Palette
The block palette allows you to drag blocks into the Scripts Area, create variables, and create more blocks. When you drag a block from the Block Palette, a copy of it follows the mouse until you "drop" it where you need it. There are 10 sections of blocks in the block palette.

Script Area
Blocks from the Block Palette are dragged into the Scripts Area. These then can be combined with other blocks to form scripts, and eventually a project.

Sprites Pane
The sprites pane contains a thumbnail view of all sprites.
 * Includes the name of the sprite with a thumbnail of the sprites current costume next to it.
 * If currently on Sprites Pane, the thumbnail will switch slowly probably to prevent annoyance. However, if opened to Sprites Info Pane, it will switch at the current rate (see GIF in the "Sprites Info Pane").
 * A new sprite can be added by pressing one of the following: Scratch 2 New Sprite Options.png
 * Giga Opens up Window with Scratch Default Sprites.
 * Paint Brush Opens the Paint Editor. A new sprite will be derived from your painting.
 * Folder Opens a file browser allowing you to open a sprite or image file.
 * Camera Opens camera and takes picture when you tell it to.
 * Clicking a sprite opens up either the Script Area, or the Costume Pane.
 * Dragging a Costume to a different sprite will insert that Costume into that sprite's Costume Pane.
 * Dragging a sound to a different sprite will copy the sound into that sprite's Sounds Pane.
 * Dragging a sprite onto another sprite will swap their location in the sprite pane.
 * Right Clicking a sprite offers a drop-down list with four options:
 * Duplicate Creates an identical copy of a sprite that includes scripts, costumes, and sounds..
 * Delete Deletes the Sprite.
 * Save to local file Opens up a file browser, allowing you to save your sprite along with any scripts in the selected sprite.
 * Show Shows the object (if hidden) and sends it to the front
 * Dragging a script from one sprite to another sprite's thumbnail image will copy the scripts to that sprite.

Sprite Info Pane
The Sprite Pane includes info about the selected sprite as well as a few tools for manipulating the sprite. It is accessed by clicking the blue "i" on a sprite in the sprites pane.


 * A sprite's name can be changed by clicking the box that contains the sprite's name.
 * The selected sprite can be manipulated by pressing one of the following buttons:
 * Lock Lets you lock or unlock a sprite. Unlocking it makes the sprite draggable (no scripts necessary).
 * Circular Arrow Enables full rotation in a sprite.
 * Linear Arrow Enables the sprite to only face left or right.
 * "-" Disables Rotation. The sprite will remain facing 90 degrees no matter what.
 * Pressing and dragging the blue line located over the sprite will rotate the sprite.
 * Double clicking the sprite will return it to facing 90 degrees.
 * The sprite's X and Y coordinates as well as direction are listed.
 * If the pen is down, the color is shown.

Costume Pane
The Costume Pane contains a list of costumes of the selected sprite.
 * It includes the name of the sprite and a preview image.
 * Clicking on frame will switch the sprite to the selected costume.
 * New costumes can be added to the list by pressing one of the following:
 * Giga Opens Scratch's built-in library on sprites, allowing any costume to be chosen.
 * Paint Opens the Paint Editor.
 * Import A file browser is opened, allowing you to open a sprite file.
 * Camera Opens a web cam or external device to take a picture for a new costume.
 * Costumes can be edited in the Paint Editor on the right hand side of the screen.
 * A Costume can be renamed by clicking the box in which the Costumes name is listed.
 * Right-clicking a costume opens a drop-down list with three options:
 * Duplicate Duplicates the costume.
 * Delete Deletes the costume.
 * Save to Local File Saves the sprite where one chooses.
 * Costumes can be rearranged by dragging them into the appropriate order in the list.

Sounds Pane
The Sounds Pane contains a list of audio clips.
 * Includes the name of the sounds and a thumbnail of a speaker.
 * Clicking the speaker icon will play the sound.
 * A new sound can be added to the list by pressing one of the following:
 * Record Opens the Sound Recorder. Audio can then be recorded from an external device.
 * Import A file browser is opened, allowing you to open an audio file.
 * A sound can be played by pressing the "►" button next to the speaker icon.
 * A sound can be stopped by pressing the "■" button next to the speaker icon.
 * A sound can be deleted by pressing the "X" button to the right of the sound icon.
 * A sound can be renamed by clicking the box in which the sounds name is listed.
 * Right-clicking a sound icon offers a drop-down list with three option:
 * Duplicate Duplicates the sound.
 * Delete Deletes the sound.
 * Save to Local File Saves the sound where one chooses.
 * Sounds can be rearranged by dragging them into the appropriate order in the list.

Stage


The Stage is a "sprite" that represents the background of its project. Because of this, it has special features that are different from other sprites. No sprites can move behind the Stage the Stage is always at the back layer, and it also cannot move itself.
 * The stage has two buttons:
 * Green Flag Broadcasts to the When Green Flag Clicked block, starting the project.
 * Stop Sign Stops all scripts in all sprites.
 * Sprites can be dragged on the stage.
 * All of the "action" takes place here!

Toolbar
The toolbar at the top of the program contains many very important functions in Scratch.
 * On the far left is the text "Scratch".
 * Next is an image of a gray sphere or globe. Pressing this offers a drop-down list with all of the languages that Scratch is available in.
 * Next there are several menu options:

File menu

 * New Creates a new project from a blank template.
 * Save now Saves the current project in the directory from which it came from. If the project is new it opens a file browser, allowing you to save a project as a new file, except when online.
 * Save as a copy Creates a copy of the current project.
 * Go to My Stuff This button takes one to their My Stuff page.
 * Upload from your computer Opens a file browser, allowing you to open a project. Opening a project this way will keep the sprites from the project you were previously working on.
 * Download to your computer Opens a file browser, asking where one wants their current project saved.
 * Revert Reverts the project to the last saved state.

Edit menu

 * Undelete Undeletes a sprite, costume, sound, or script that was recently deleted.
 * Small stage layout Makes the stage shrink to a smaller size.
 * Turbo Mode Sets the player into Turbo Mode, where code is executed very quickly.