Author Topic: [Megathread] Scratch  (Read 548 times)


Scratch Megathread

What is Scratch?
Scratch is a online, free, visual based programming language for teachers, children, and parents to create games and tools with ease. Scratch is also used by schools as a first step into coding and scripting with other programming languages. Scratch is also used to make animations, music, interactive art, and informative presentations. It is possible for users (and guests) of the website to take existing projects and "remix" them, or to change the code and make a different game.
Remix button

Scratch is an event-driven programming language with multiple objects known as "sprites". These sprites are able to be drawn in Scratch in either a bitmap image, or a vector image. Images can also be imported from other sources like a webcam.

What is Scratch 2?
Scratch 2 is a program available online (https://scratch.mit.edu/scratch2download/), and is a program to make Scratch games and presentations while not connected to the internet, and to upload them to your Scratch when an internet connection is available. Scratch 2 is available for Windows, Linux, and OS X, and needs Adobe Air to run.

What does Scratch mean?
To "scratch" in coding means to reuse scripts and code that be be effectively used for other purposes, and easily combined, shared, and adapted to other scenarios. Combining, sharing, and adapting code is a key element in Scratch: Remix, in which users of Scratch can download and build upon games already created by other users.

The Rise of Scratch
Scratch was started by a group of MIT students in January of 2003, though these MIT students had already discussed Scratch and ideas like it years before they began the project. Scratch was officially released online to the public on May 15th, 2007. From 2007-2008, users were able to submit logos to replace the original one on the website for special occasions, a lot like how Google changes their logo on Google.com for holidays and special events. On August 7th, 2008, the Lego company donated images to Scratch for users of Scratch to use in their projects. Before this, everyone using Scratch had to make their projects using their own images, or ones they find themselves. This event also brought a lot of popularity to Scratch, and introduced a large portion of the existing Lego community to the programming platform. Scratch began to become popular in schools where it was used to educate students, and was used in coding clubs. Scratch was used by schools to introduce children to basic programming languages, such as Python and Java.

Using Scratch
When in the studio of Scratch, the user has access to libraries of bricks, or scripts, that they can put together like a puzzle. The users access to these 10 libraries: motion, looks, sound, pen, data, events, control, sensing, operators, and more blocks.

Motion: The motion bricks control how the sprite these bricks are associated with move and interact with surroundings. This library had bricks like walk(), glide(), and rotate().

Looks: These bricks can control the back round of the game, the size of the sprite the bricks are associated with, and can make sprites talk, or say something.

Sound: The sound bricks can be used to play the sounds that some sprites come with, play music that can be downloaded from an online library, and can allow the user to make their own music. Many of the bricks are made to help users to make their own music, with stuff like the tempo brick, the drum brick, and the beat brick.

Pen: The pen tools are used to have sprites draw things on the stage of the game. The user can control the pen by changing its width, color, and shade.


Data: The data menu, instead of offering bricks and scripts to use, allows the user to create variables, and also provides bricks for variables after they are made.

Events: The event bricks are used to start blocks of code. They include bricks the 'on game start' bricks, and the 'on broadcast receive' brick. These bricks are meant to receive different triggers that start a block of code.

Control: The control library has bricks like the 'forever' brick, where users place a script that they want to run over and over forever. This library also includes the 'if-else' and 'if' bricks.

Sensing: The sensing menu allows the player to install and use 3rd party hardware and software to interact with their games. The sensing library also offers bricks that can be used to help sprites interact with their surroundings.

Operators: The operators menu includes bricks for completing mathematical functions and equations, and is also used to combine variables. When using variables, operator bricks are very useful to help them interact with other sprites.

More Bricks: The more bricks tab is the most interesting and complicated menu. The more bricks tab allows the user to create and define their own function for repeated or future use.


I have a Raspberry Pi, so I played with it a bit. Couldn't get the program it opened when I started it to run tho.