Using Looks Blocks in Scratch 2.0
- Getting to Know the Looks Blocks
- Interacting with the Player
- Getting Sprites to "Talk" to Each Other
- Summary
- Workshop
- Challenge
What You’ll Learn in This Hour:
Getting to know the Looks blocks
Interacting with the player
Getting sprites to “talk” to each other
The main theme for this hour is that of involving your user in your Scratch project. I’ve always enjoyed video games of the first-person shooter (FPS) variety; however, I have remarkably low patience for long, drawn-out cut scenes that have no player interaction. I just want to get to the good stuff and to start playing the darned game!
Likewise, you should always keep your player in mind as you develop your Scratch projects. Believe me, they don’t want to sit there twiddling their thumbs while you present all of your nifty animations. Instead, they want to control the behavior and perhaps the outcome of the project—and you can make that happen.
The Looks block palette in Scratch 2.0 includes lots of goodies that put the power and control into your players’ hands. In this hour, you learn how to communicate with your player both by using speech and thought bubbles. You also learn how to ask the player questions, get his or her feedback, and act accordingly on that feedback.
By the end of this hour, you’ll have the ability to grow, shrink, fade, or otherwise modify your sprites in novel and effective ways. Let’s get to work.
Getting to Know the Looks Blocks
You know the drill by now: Fire up a new, blank project, select the Cat sprite, and click the Looks tab from the Scripts palette. Next, study Table 5.1 to familiarize yourself with the purple Looks blocks.
TABLE 5.1 Scratch Looks Blocks
Block Image |
Block Type |
Function |
Stack |
Makes a time-limited speech balloon appear above the selected sprite |
|
Stack |
Makes a persistent speech balloon appear above the selected sprite |
|
Stack |
Makes a time-limited thought balloon appear above the selected sprite |
|
Stack |
Makes a persistent thought balloon appear above the selected sprite |
|
Stack |
Displays the sprite immediately |
|
Stack |
Hides the sprite immediately |
|
Stack |
Changes the sprite’s costume to another one |
|
Stack |
Transitions the sprite from the current costume to the next one in the sprite’s costume list |
|
Stack |
Changes the Stage backdrop to a particular one |
|
Stack |
Changes the current value of a particular sprite’s graphical effect by a percentage; the effects are color, fisheye, whirl, pixelate, mosaic, brightness, and ghost |
|
Stack |
Sets the sprite’s effect to a percentage |
|
Stack |
Restores all of the sprite’s graphical effects to their default zero value |
|
Stack |
Changes the sprite’s default size (100) to a larger or smaller value |
|
Stack |
Sets a sprite’s size to a given magnification level |
|
Stack |
Brings the sprite to the top layer of the Stage “stack” |
|
Stack |
Moves the sprite back one layer on the Stage |
|
Reporter |
References the sprite’s current costume ID number |
|
Reporter |
References the current backdrop’s Name property |
|
Reporter |
References the sprite’s current size |
Make sure that you have the Scratch Cat sprite selected on Stage and spend some time double-clicking each of the Looks blocks. You’ll observe that you can try out that block’s functionality without having to compose an actual script.
For instance, double-click the block. Now change the “Hello!” text to something else and test it out again.
This “click and try it” procedure is especially fun with the graphical effects stack blocks. Have fun, friend—that is largely what computer programming is all about!
By way of review, recall that stack blocks have a notch on top and a bump on bottom, just like a jigsaw puzzle piece. This is meant to indicate that you can easily stack these blocks together, one after the other, to chain actions and trigger events.
Reporter blocks are shaped like flattened-out ovals and hold values. You use reporter blocks by dropping them into a space within another block.
Boolean blocks (shaped like flattened-out hexagons) are a special type of reporter block. Whereas reporter blocks can hold alphanumeric data, Boolean blocks can contain only True or False values. You can insert Boolean blocks into the appropriately shaped holes in other Boolean blocks.
Hopefully, you are beginning to see the beauty and logic in how Scratch uses color-coded blocks to help you think like a programmer without getting bungled up in arcane syntax.
For the first project example in this hour, let’s play around with a sprite’s appearance. To set the foundation for this exercise, do the following in the Scratch Editor:
Rename the Scratch Cat to Cat.
Import the Stage backdrop named route66 and make it the active backdrop.
Turn on the and reporter blocks to make them appear as Stage monitors. To do this, simply enable the check box to the immediate left of each reporter block in the Looks block palette. You can see what this looks like in Figure 5.1.
FIGURE 5.1 Stage monitors make Scratch reporter data visible on the Stage. This is extraordinarily useful when you debug your project code or when you want to display information (such as a game score) to the user.
Bring out a Green Flag block and ignore the code section labeled A in Figure 5.2 for now. Note the say and think blocks; the difference between these is the appearance of the bubble that appears by your sprite. For the purposes of this exercise, you want the Cat to say “Watch this!” for 2 seconds (see the code section labeled B in the figure).
After a 1-second pause, switch the Cat’s costume (see the code section labeled C in the figure). Remember that the wait blocks are found in the Control palette.
Sprites start out at a size value of 100. Thus, if you bring out a block and use a value of 150 (see the code section labeled D in the figure), the sprite will grow by 150 percent. In other words, the sprite’s size will go from 100 to 250.
Change the sprite’s color effect by a factor of 50 (see the code section labeled E in the figure). A sprite’s default color effect is 0, so any value you add or subtract alters the sprite’s shade. A single sprite costume can take on 200 different color schemes by using the block. Thus, if you set the change color effect block to 200, you’ll see no difference in the sprite’s color.
Take a moment to just play around with other effects (see the code section labeled F in the figure). The fisheye effect is pretty cool; the higher you set the value about the default value of 0, the more warping you see in the sprite.
Spin the sprite in a 360-degree (full) rotation (see the code section labeled G in the figure). There are probably several ways in which you could accomplish this goal. For my money, repeating a 15-degree turn 24 times (perform the arithmetic; you’ll find that 15 multiplied by 24 equals 360) gets the job done efficiently enough.
Instead of having the Cat simply disappear with a block, add some pizzazz to the project (see the code section labeled H in the figure). The ghost effect is excellent if you want to fade in or fade out a sprite. Here, increase the sprite’s ghost (transparency) effect by 10, 10 times. In Scratch 2.0, a costume can have 100 different transparency levels. If you run a +10 ghost level 10 times, then by the end of the loop the sprite is fully transparent.
You’ll get into adding and managing audio in your Scratch projects in the next hour. For now, simply play the default meow sound to signify the conclusion of the project (see the code section labeled I in the figure).
Add a hide block just for grins (see the code section labeled J in the figure). In programming, being explicit with your code is generally superior to being implicit.
Now return to the code section labeled A in Figure 5.2. This is discussed last so the blocks used make sense to you. If you try to rerun the project without this “cleanup” code, the project will look a mess and be pretty much unusabvle.
It can’t be stressed enough how important it is that you put code at the very front of your Scratch project that resets the environment. Here, you are resetting the sprite’s ghost effect, Stage position, costume, size, directionality, and visibility. Strictly speaking, the set ghost effect block isn’t needed in addition to the clear graphic effects block, but it’s added here for completeness.
FIGURE 5.2 Source code for the Lookin’ Good! Try It Yourself exercise.
What do you think of the Stage monitors? Pretty cool, aren’t they? Here’s something else for you to try: Double-click each Stage monitor and notice what happens.
Sometimes the value you are reporting in a Stage monitor doesn’t need a label, or perhaps you added the label to the Stage itself. For instance, I like the larger, no-label view in some of my games.
You won’t need monitors for the rest of this hour, so feel free to return to the Looks palette and uncheck the and reporter blocks.