- "Program" redirects here. For an explanation of the process of writing programs with code, see Programming.
when gf clicked repeat until <(timer) > > go to [mouse-pointer v] end say [Meow!] for (3) secs
A script is a collection or stack of blocks that all interlock with one another. The blocks and their order are very important, as they determine how sprites interact with each other and the backdrop. Sometimes, comments are attached to scripts to explain what certain blocks do and what the script's purpose is.
Scripts are easy to work with. Some "rules" are as follows:
- To create a script, one simply has to drag blocks out of the Block Palette and assemble them.
- To assemble blocks, they must be dragged on, below, or in another block. (Except for Hat Blocks.)
- To disassemble blocks, they must be dragged apart.
- To remove a script, drag it into any of the block palettes, or right-click the hat block and press delete.
- To start a single script just click on it.
Scripts can be edited in the scripts tab of every sprite and the Stage.
Every block shape is designed so that it can do one or more of the following:
- Start a script
- Add to the end of a script
- End a script
- Fit inside other blocks.
- Contain other blocks.
Because of that, blocks can be assembled to create a script like a jigsaw puzzle. This prevents syntax errors.
A script is defined within the Scratch program as one or a set of blocks that begins with a Hat Block. Even a single block can qualify. However, scripts are usually referred to as sets of blocks that consist of at least two blocks.
|This article or section documents a feature not included in the current version of Scratch (3.0). It is only useful from a historical perspective.|
When using previous versions, when putting certain blocks together, it is sometimes possible to make an impossible script. (impossible meaning that it cannot function, see the below example.) When impossible scripts are run, in development mode, the script is outlined in red, the trouble-causing block colored red, and the whole script is paused. Online, the player simply ignores it and moves on if possible. In the current 2.0, if you have an error like the one shown, the script will just stop.
Errors are usually caused mathematically, such as when a script tries to divide by zero or find the square root of negative one. Trigonometric errors are also common. Other common errors are caused by using a block only available in sprites in the stage, or when an nonexistent item of a list is being accessed.
For a tutorial on fixing scripts like this, see the article Debugging Scripts.
A script fragment is a script that is 'incomplete' because it is missing a hat block. A script fragment will not run during normal execution of a project, because nothing triggers the code. It is possible to run a script fragment by being in the Project Editor and clicking on it. They are commonly used to create thumbnails because of the ability to show a sprite that isn't visible while normally running the project. Script fragments can be stored in the Backpack, and can easily be popped onto a hat to run the code. Each block in the editor is a script fragment.