Script
when gf clicked repeat until <(timer) > [10]> go to [mouse-pointer v] end say [Meow!] for (3) secs
A script is a collection 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.
Contents |
Use
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, one has to drag it into any of the block palettes.
- To start a single script just click on it.
Structure
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.
Definition
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.
Script Errors
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.
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 this article.
