Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
0
00:00:00,000 --> 00:00:03,465
[MUSIC PLAYING]
1
00:00:03,465 --> 00:00:17,553
2
00:00:17,553 --> 00:00:19,720
BRIAN YU: Welcome back, everyone, to an introduction
3
00:00:19,720 --> 00:00:21,130
to programming with Scratch.
4
00:00:21,130 --> 00:00:23,950
And last time, we introduced the world of Scratch--
5
00:00:23,950 --> 00:00:27,220
introducing the stage and the sprites that can live on that stage.
6
00:00:27,220 --> 00:00:29,380
And saw how we could change the way the sprites
7
00:00:29,380 --> 00:00:31,960
looked by giving them costumes, and giving them some sounds,
8
00:00:31,960 --> 00:00:34,660
and also add some backdrops to our stage to make
9
00:00:34,660 --> 00:00:36,610
it look a little bit more interesting.
10
00:00:36,610 --> 00:00:40,420
But everything we were doing last time had to be done manually by ourselves--
11
00:00:40,420 --> 00:00:44,590
if we wanted to move the sprite, I had to change the x and y values and drag
12
00:00:44,590 --> 00:00:47,060
the sprite around to a different position, for example--
13
00:00:47,060 --> 00:00:50,320
if I wanted to change the costume, I had to click on a different costume
14
00:00:50,320 --> 00:00:51,580
that I wanted to do.
15
00:00:51,580 --> 00:00:54,730
This time we're going to start programming our Scratch projects,
16
00:00:54,730 --> 00:00:57,790
adding some code so that we can let that code run
17
00:00:57,790 --> 00:01:01,880
and manipulate what happens inside of our Scratch projects as well.
18
00:01:01,880 --> 00:01:05,440
So let's start to take a look at how we might be able to do that by opening up
19
00:01:05,440 --> 00:01:07,570
a new blank Scratch project.
20
00:01:07,570 --> 00:01:09,710
And when we do so, we'll see the stage--
21
00:01:09,710 --> 00:01:11,080
which is pure white by default--
22
00:01:11,080 --> 00:01:13,880
and the default Scratch Cat that's here as well.
23
00:01:13,880 --> 00:01:16,960
Now, remember from last time, if I wanted to move the Scratch Cat,
24
00:01:16,960 --> 00:01:18,560
I had two ways of doing it.
25
00:01:18,560 --> 00:01:22,510
One was to click and drag on the cat and move it around the stage
26
00:01:22,510 --> 00:01:24,670
to wherever I want the Scratch Cat to be--
27
00:01:24,670 --> 00:01:27,820
or secondly, I could use these x and y values down here.
28
00:01:27,820 --> 00:01:31,270
I could change the x value to 0, and the y value to 0
29
00:01:31,270 --> 00:01:36,010
for example to perfectly center the cat inside of the stage.
30
00:01:36,010 --> 00:01:39,520
But this time, we're going to start to introduce these blocks that
31
00:01:39,520 --> 00:01:42,790
have been living on this left side of our Scratch window for some time now,
32
00:01:42,790 --> 00:01:45,610
but we haven't really done very much with just yet.
33
00:01:45,610 --> 00:01:47,590
And each of these blocks is going to perform
34
00:01:47,590 --> 00:01:52,480
some tasks, some action that's happening on the stage of our Scratch program--
35
00:01:52,480 --> 00:01:55,310
and we're going to start to call these blocks functions.
36
00:01:55,310 --> 00:01:58,060
A function, in the context of Scratch, is just
37
00:01:58,060 --> 00:02:00,940
some block that performs some task.
38
00:02:00,940 --> 00:02:03,620
And we might look at this very first block, for example,
39
00:02:03,620 --> 00:02:05,830
which just says Move 10 Steps--
40
00:02:05,830 --> 00:02:08,050
and that is a block which, as you might guess,
41
00:02:08,050 --> 00:02:11,890
has the effect of moving the cat 10 steps.
42
00:02:11,890 --> 00:02:14,590
And so, let's give it a try-- how could we use that block?
43
00:02:14,590 --> 00:02:17,410
Well, if I want to use a block as part of my project,
44
00:02:17,410 --> 00:02:20,500
I'm going to start by taking that block and dragging it
45
00:02:20,500 --> 00:02:24,610
into the Code Editor in the center part of the Scratch interface.
46
00:02:24,610 --> 00:02:26,860
So on the left hand side is, really, just this library
47
00:02:26,860 --> 00:02:29,150
where all of the blocks live to begin with,
48
00:02:29,150 --> 00:02:31,450
but if I want to use a block in my project--
49
00:02:31,450 --> 00:02:33,520
I'm going to take the Move 10 Steps block,
50
00:02:33,520 --> 00:02:36,580
and drag it out into the main part of the Scratch interface
51
00:02:36,580 --> 00:02:38,410
and just drop it off.
52
00:02:38,410 --> 00:02:42,940
And so now, I've added my first block of code, my first function,
53
00:02:42,940 --> 00:02:44,620
into my Scratch project--
54
00:02:44,620 --> 00:02:47,060
and to run it, I can just click on it.
55
00:02:47,060 --> 00:02:49,600
So watch what happens when I click on the Move 10 Steps--
56
00:02:49,600 --> 00:02:53,500
notice that right now the Scratch Cat is right in the middle of the stage,
57
00:02:53,500 --> 00:02:56,080
but as soon as I click the button the cat moves.
58
00:02:56,080 --> 00:02:58,810
Just a little bit, you'll notice it moves slightly to the right,
59
00:02:58,810 --> 00:03:01,810
and you'll notice too that the position of the cat changed.
60
00:03:01,810 --> 00:03:05,650
Originally it was at 0, 0, now x is 10 and y
61
00:03:05,650 --> 00:03:07,970
is 0-- we've moved the Scratch Cat a little bit.
62
00:03:07,970 --> 00:03:11,150
And if I click it again, I can keep moving that cat--
63
00:03:11,150 --> 00:03:16,200
and every time I click it, the cat moves 10 steps to the right.
64
00:03:16,200 --> 00:03:21,360
Notice too that in this Move 10 Steps block there's a bit of an empty gap
65
00:03:21,360 --> 00:03:24,270
here where we filled in the number 10, this
66
00:03:24,270 --> 00:03:26,740
is what we can call an input to a function.
67
00:03:26,740 --> 00:03:29,070
Functions are allowed to take inputs, information
68
00:03:29,070 --> 00:03:31,560
that those function use in order to decide
69
00:03:31,560 --> 00:03:33,330
how it is that they're going to behave.
70
00:03:33,330 --> 00:03:36,390
And the input that this function takes is a number
71
00:03:36,390 --> 00:03:40,150
indicating how many steps we would like to move-- so in this case,
72
00:03:40,150 --> 00:03:44,700
the input is 10, meaning I would like to move 10 steps, but I could change that.
73
00:03:44,700 --> 00:03:47,970
I'll drag the cat back out to give it a little more space to move,
74
00:03:47,970 --> 00:03:51,940
but I could change this input, for example, to 30.
75
00:03:51,940 --> 00:03:55,470
And now, when I click on this block, the cat moves further.
76
00:03:55,470 --> 00:03:57,570
You'll notice every time I click on it, the cat's
77
00:03:57,570 --> 00:04:00,910
moving 30 steps instead of 10 steps.
78
00:04:00,910 --> 00:04:04,560
So I can control, based on this input, how far the cat's going to move.
79
00:04:04,560 --> 00:04:07,300
And if I make it negative-- say negative 20--
80
00:04:07,300 --> 00:04:10,880
now every time I click on the cat, the cat's going to move backwards.
81
00:04:10,880 --> 00:04:13,350
So you can decide, based on what number you write here,
82
00:04:13,350 --> 00:04:17,519
in what direction that cat is going to move.
83
00:04:17,519 --> 00:04:21,420
So this is just one block, one function that we can use inside of our Scratch
84
00:04:21,420 --> 00:04:23,590
project, but there are others as well.
85
00:04:23,590 --> 00:04:27,910
Here's one that, it says Turn 15 Degrees to the Right--
86
00:04:27,910 --> 00:04:31,210
Turn to the Right, or Clockwise 15 Degrees.
87
00:04:31,210 --> 00:04:34,050
So if I want to use that one, let me try dragging that out
88
00:04:34,050 --> 00:04:35,340
into my Block Editor--
89
00:04:35,340 --> 00:04:38,550
I now have two blocks the move 30 steps one, and the turn 15 degrees
90
00:04:38,550 --> 00:04:39,970
to the right one.
91
00:04:39,970 --> 00:04:44,550
And if I click this one, the Turn block, you'll notice the Scratch Cat turns--
92
00:04:44,550 --> 00:04:48,990
every time I click on it, it rotates, changes direction by 15 degrees,
93
00:04:48,990 --> 00:04:52,080
and I can keep clicking on it turning it little by little
94
00:04:52,080 --> 00:04:57,250
until we get back to the original 90 degrees.
95
00:04:57,250 --> 00:05:01,530
So now I have two different blocks, one block that causes the cat to move,
96
00:05:01,530 --> 00:05:04,980
and one block that causes the cat to rotate--
97
00:05:04,980 --> 00:05:07,420
and it turns out I can combine these blocks together.
98
00:05:07,420 --> 00:05:09,420
Often when you're writing programs it's not just
99
00:05:09,420 --> 00:05:12,580
going to be one instruction that you want your program to follow,
100
00:05:12,580 --> 00:05:14,910
but it's going to be some sequence of instructions
101
00:05:14,910 --> 00:05:16,390
that you want your code to follow.
102
00:05:16,390 --> 00:05:19,530
And so, these blocks can snap together, watch what happens--
103
00:05:19,530 --> 00:05:23,910
if I take this Turn 15 Degrees block, and I drag it close to the Move 30
104
00:05:23,910 --> 00:05:24,720
Steps block--
105
00:05:24,720 --> 00:05:26,910
you'll notice that it starts to highlight,
106
00:05:26,910 --> 00:05:31,440
and then when I release my cursor, the block just snaps into place.
107
00:05:31,440 --> 00:05:34,860
These few blocks are now connected to each other inside of a stack which
108
00:05:34,860 --> 00:05:39,360
we can call a script, and now these two blocks together
109
00:05:39,360 --> 00:05:42,360
will run together-- when we run at this stack of blocks,
110
00:05:42,360 --> 00:05:45,720
it's going to run from top to bottom running the first block, which
111
00:05:45,720 --> 00:05:48,480
is Move 30 Steps, and then the second block, which
112
00:05:48,480 --> 00:05:50,830
is Turn to the Right 15 Degrees.
113
00:05:50,830 --> 00:05:53,070
So when I click on it, watch what happens--
114
00:05:53,070 --> 00:05:57,480
the cat moves 30 steps, but it also turns by 15 degrees.
115
00:05:57,480 --> 00:06:00,250
And I can click it again, and that'll happen again--
116
00:06:00,250 --> 00:06:02,250
and if I keep clicking it, now you'll see we've
117
00:06:02,250 --> 00:06:04,170
got this cat moving in a nice circle.
118
00:06:04,170 --> 00:06:06,660
It's moving forward and it's rotating every time,
119
00:06:06,660 --> 00:06:10,050
and I'm doing so by every time I click on this stack running
120
00:06:10,050 --> 00:06:14,860
both of these blocks of our code.
121
00:06:14,860 --> 00:06:17,460
And so by combining together these various different blocks,
122
00:06:17,460 --> 00:06:21,180
we have the ability to create more interesting programs just by deciding
123
00:06:21,180 --> 00:06:22,920
in what sequence-- top to bottom--
124
00:06:22,920 --> 00:06:25,530
we would like for these blocks to ultimately run in.
125
00:06:25,530 --> 00:06:28,380
And there are all sorts of other different motion blocks
126
00:06:28,380 --> 00:06:30,810
that we can use-- notice that the Scratch blocks are all
127
00:06:30,810 --> 00:06:34,170
organized into categories, and those categories are color coded.
128
00:06:34,170 --> 00:06:36,540
And all of these first set of blue blocks,
129
00:06:36,540 --> 00:06:40,410
they're all related to motion-- the movement of the cat.
130
00:06:40,410 --> 00:06:43,830
So there's one block called go to random position-- that one looks fun,
131
00:06:43,830 --> 00:06:44,460
I'll try it.
132
00:06:44,460 --> 00:06:47,760
And now, every time I click on this block, the cat
133
00:06:47,760 --> 00:06:52,902
just moves to a different random position every time.
134
00:06:52,902 --> 00:06:54,610
And maybe that's interesting, but maybe I
135
00:06:54,610 --> 00:06:57,693
don't really want the go to a random position block as part of my program.
136
00:06:57,693 --> 00:06:59,235
So if ever you decide, you know what?
137
00:06:59,235 --> 00:07:01,100
I have a block and I really don't want it--
138
00:07:01,100 --> 00:07:03,910
there are a couple of ways to delete a block in Scratch.
139
00:07:03,910 --> 00:07:07,270
One way is you can Control-click, or right-click on the block,
140
00:07:07,270 --> 00:07:08,710
and you can just click Delete--
141
00:07:08,710 --> 00:07:10,280
that's one way.
142
00:07:10,280 --> 00:07:13,480
The other way is I can take the block, and just drag it off to the left,
143
00:07:13,480 --> 00:07:15,280
put it back into the Library--
144
00:07:15,280 --> 00:07:20,140
and then when I release, the block goes away there as well.
145
00:07:20,140 --> 00:07:23,760
So using this ability to now move our sprites around
146
00:07:23,760 --> 00:07:27,270
just by writing a little bit of code, by putting some blocks together--
147
00:07:27,270 --> 00:07:30,210
let's now try and create a program that does something.
148
00:07:30,210 --> 00:07:32,910
I'm going to use a different sprite, let's not use the cat--
149
00:07:32,910 --> 00:07:35,550
I'll go ahead and delete the cat by pressing the Trashcan
150
00:07:35,550 --> 00:07:37,650
icon next to the cat.
151
00:07:37,650 --> 00:07:40,280
But I'll choose a new sprite, let's go to animals--
152
00:07:40,280 --> 00:07:42,870
so I have a few different options, and I think I
153
00:07:42,870 --> 00:07:45,540
like the hedgehog-- we'll go ahead and use the hedgehog.
154
00:07:45,540 --> 00:07:50,250
And what I want for the hedgehog to do is just walk around the entire stage,
155
00:07:50,250 --> 00:07:52,390
to walk in a rectangle, effectively.
156
00:07:52,390 --> 00:07:54,540
And so, let's assemble together some blocks
157
00:07:54,540 --> 00:07:57,300
to let the hedgehog do just that.
158
00:07:57,300 --> 00:08:01,590
I want the hedgehog to start in the upper left portion of the stage,
159
00:08:01,590 --> 00:08:05,460
and so that's about this x value and about that y value--
160
00:08:05,460 --> 00:08:07,200
and I can be even more precise.
161
00:08:07,200 --> 00:08:09,540
You'll notice that the Go To block, which
162
00:08:09,540 --> 00:08:12,090
is a block that just goes to a particular position,
163
00:08:12,090 --> 00:08:16,820
will def by default include the values for wherever the sprite is currently.
164
00:08:16,820 --> 00:08:20,890
So right now it's negative 168 and 120--
165
00:08:20,890 --> 00:08:23,110
I'm going to change this slightly, negative 180
166
00:08:23,110 --> 00:08:24,910
just to make the number a little cleaner--
167
00:08:24,910 --> 00:08:27,960
but now this block will move this hedgehog
168
00:08:27,960 --> 00:08:31,030
to the upper left portion of the stage.
169
00:08:31,030 --> 00:08:34,890
And now if I wanted to go to the upper right portion of the stage,
170
00:08:34,890 --> 00:08:36,900
I'll use the Go To block again.
171
00:08:36,900 --> 00:08:40,590
And remember that, to control the left or right position of any given sprite,
172
00:08:40,590 --> 00:08:41,940
I can change the x value.
173
00:08:41,940 --> 00:08:45,240
The x value controls whether it's to the left or to the right--
174
00:08:45,240 --> 00:08:48,370
negative means to the left, positive will mean to the right.
175
00:08:48,370 --> 00:08:52,930
So we'll go ahead and change it to positive 180 and then y equals 120.
176
00:08:52,930 --> 00:08:56,430
So it starts with the upper left, and then goes to the upper right,
177
00:08:56,430 --> 00:08:58,110
and I'll add one more after that.
178
00:08:58,110 --> 00:09:00,960
And I want to move it now to the lower right--
179
00:09:00,960 --> 00:09:03,632
I want to sort of make a rectangle all around the stage--
180
00:09:03,632 --> 00:09:06,340
in the lower right, well, that's going to be a positive x value--
181
00:09:06,340 --> 00:09:08,130
so we'll do positive 180.
182
00:09:08,130 --> 00:09:13,290
But now a negative y value-- y control is how far up or down the hedgehog
183
00:09:13,290 --> 00:09:14,430
is going to move.
184
00:09:14,430 --> 00:09:19,800
And I'll do one more with negative for both-- negative 180, negative 120.
185
00:09:19,800 --> 00:09:23,040
That's going to be the bottom left because the x is very negative,
186
00:09:23,040 --> 00:09:24,670
and the y is very negative.
187
00:09:24,670 --> 00:09:27,630
And so what I hope this will do is cause the hedgehog
188
00:09:27,630 --> 00:09:32,880
to just move in a rectangle, go to all four corners of the stage.
189
00:09:32,880 --> 00:09:37,740
So I'll try it, I'll go ahead and click on this block and see what happens.
190
00:09:37,740 --> 00:09:40,290
All right, it didn't do exactly what I expected for it to do.
191
00:09:40,290 --> 00:09:43,197
The hedgehog just jumped immediately to the lower left,
192
00:09:43,197 --> 00:09:45,780
even though the lower left one is this last instruction here--
193
00:09:45,780 --> 00:09:48,420
it seems to have skipped these two in the middle that
194
00:09:48,420 --> 00:09:51,790
tell it to go to the upper right and then to the lower right.
195
00:09:51,790 --> 00:09:53,400
So, what's going on?
196
00:09:53,400 --> 00:09:55,920
Well, it turns out that when a program is running,
197
00:09:55,920 --> 00:09:59,050
the computer can run our programs very, very, very quickly.
198
00:09:59,050 --> 00:10:02,130
So even though our program was going through each of these four lines one
199
00:10:02,130 --> 00:10:05,370
at a time, it happened so quickly-- it went to one location,
200
00:10:05,370 --> 00:10:08,340
then a second location, then a third location, then a fourth location--
201
00:10:08,340 --> 00:10:11,100
that we, the human looking at this project, only
202
00:10:11,100 --> 00:10:13,060
ever saw the final location.
203
00:10:13,060 --> 00:10:17,213
We missed all three of those locations that were in between.
204
00:10:17,213 --> 00:10:19,380
And so sometimes, if I want to be able to see what's
205
00:10:19,380 --> 00:10:21,600
actually happening in a project, I need to tell
206
00:10:21,600 --> 00:10:23,310
Scratch to slow down a little bit.
207
00:10:23,310 --> 00:10:26,430
Don't just immediately go to a particular position,
208
00:10:26,430 --> 00:10:28,590
but take some time in getting there.
209
00:10:28,590 --> 00:10:32,130
And Scratch's word for this is to glide, and so what you'll notice is that--
210
00:10:32,130 --> 00:10:35,940
in addition to just the Go To block that immediately jumps to a particular
211
00:10:35,940 --> 00:10:40,080
location, I have another motion block called Glide--
212
00:10:40,080 --> 00:10:42,750
and this one takes three different inputs.
213
00:10:42,750 --> 00:10:48,180
This one by default says Glide 1 second to this x value and that y value--
214
00:10:48,180 --> 00:10:51,270
and I can use that to say, take some amount of time
215
00:10:51,270 --> 00:10:55,170
to go to a particular position, and let's try that out.
216
00:10:55,170 --> 00:10:58,440
I'll head over back to my Block Editor, and I no longer
217
00:10:58,440 --> 00:11:01,177
want these bottom three blocks--
218
00:11:01,177 --> 00:11:03,510
I'd like my starting position, but these other three I'm
219
00:11:03,510 --> 00:11:04,680
going to need to change.
220
00:11:04,680 --> 00:11:08,910
So I'll take them, drag them over into the Block Library to delete them,
221
00:11:08,910 --> 00:11:12,730
and let me now bring out a Glide block.
222
00:11:12,730 --> 00:11:18,930
Let's take one second to glide to x equals 180, y equals 120--
223
00:11:18,930 --> 00:11:23,710
both positive-- that's going to be in the upper right portion of my stage.
224
00:11:23,710 --> 00:11:29,520
Let's take one more second to go to positive 180 for x, and negative 120
225
00:11:29,520 --> 00:11:34,650
for y-- that's to the right and down, so the bottom right portion of the stage.
226
00:11:34,650 --> 00:11:37,800
And let's take one more second to glide to negative 180,
227
00:11:37,800 --> 00:11:40,980
negative 120, which as you can see here where the hedgehog is now,
228
00:11:40,980 --> 00:11:43,603
that's the lower left corner of the stage.
229
00:11:43,603 --> 00:11:46,770
And if ever you're confused about what those numbers mean and where you are,
230
00:11:46,770 --> 00:11:50,050
you can just drag the hedgehog to the location where you want it to be--
231
00:11:50,050 --> 00:11:53,310
and you'll be able to see what the x and y values for that
232
00:11:53,310 --> 00:11:55,080
are actually going to be.
233
00:11:55,080 --> 00:11:58,430
So now let's try to run the script--
234
00:11:58,430 --> 00:12:01,180
I can do that, again, just by clicking on the script I want to run
235
00:12:01,180 --> 00:12:02,610
and it will run them in sequence.
236
00:12:02,610 --> 00:12:06,930
We start in one corner, and we work our way in a rectangle back to the other
237
00:12:06,930 --> 00:12:09,630
corner-- and if I wanted to end up back at the starting point,
238
00:12:09,630 --> 00:12:14,580
I can add one more Glide, and let's glide back to negative 180 and positive
239
00:12:14,580 --> 00:12:16,140
120-- that's moving up--
240
00:12:16,140 --> 00:12:20,670
and so now when I click on the hedgehog it moves in a rectangle
241
00:12:20,670 --> 00:12:23,408
all around the stage.
242
00:12:23,408 --> 00:12:25,200
And so we've been writing programs now just
243
00:12:25,200 --> 00:12:28,950
by putting these blocks in sequence, deciding what we want our sprite to do,
244
00:12:28,950 --> 00:12:34,020
and then clicking on those blocks to run them and to see our project in action.
245
00:12:34,020 --> 00:12:35,888
And now at this point our project starting
246
00:12:35,888 --> 00:12:38,680
to get a little more complicated, and if I come back to this later,
247
00:12:38,680 --> 00:12:41,790
I might not remember exactly what I was trying to do with these blocks.
248
00:12:41,790 --> 00:12:44,590
I might not remember what all these numbers represent,
249
00:12:44,590 --> 00:12:47,910
and so Scratch gives you the ability to leave comments on your project--
250
00:12:47,910 --> 00:12:50,190
just little sentences, short descriptions
251
00:12:50,190 --> 00:12:53,330
of what it is you were thinking, and that's helpful for two reasons.
252
00:12:53,330 --> 00:12:56,310
It's helpful, number one, if you come back to your project a little bit
253
00:12:56,310 --> 00:12:58,890
later and might not remember exactly what you were thinking--
254
00:12:58,890 --> 00:13:00,330
you can use it as a reminder.
255
00:13:00,330 --> 00:13:03,805
And it's also helpful if someone else is reading your project--
256
00:13:03,805 --> 00:13:06,930
they're looking at the blocks that you used and they want to understand why
257
00:13:06,930 --> 00:13:08,700
did you create the project this way--
258
00:13:08,700 --> 00:13:11,800
you can use comments to explain as well.
259
00:13:11,800 --> 00:13:14,820
I can add a comment just by Right-clicking or Control-clicking
260
00:13:14,820 --> 00:13:17,610
on my stack, and I'll add a comment.
261
00:13:17,610 --> 00:13:22,080
And here in my comment window I'll just say these blocks
262
00:13:22,080 --> 00:13:25,950
move the sprite in a rectangle--
263
00:13:25,950 --> 00:13:28,560
this doesn't affect how the program actually runs,
264
00:13:28,560 --> 00:13:32,160
it's just a little comment that I can collapse the offers a reminder--
265
00:13:32,160 --> 00:13:34,260
some text that you can read a little bit later
266
00:13:34,260 --> 00:13:38,670
to understand what exactly was going on.
267
00:13:38,670 --> 00:13:41,670
So that then is what we can do with motion blocks,
268
00:13:41,670 --> 00:13:44,040
and there are other motion blocks too for changing
269
00:13:44,040 --> 00:13:46,590
what direction the sprite happens to be pointing in,
270
00:13:46,590 --> 00:13:49,200
or moving only in the x, or only in the y direction.
271
00:13:49,200 --> 00:13:51,240
And you can explore some of those options
272
00:13:51,240 --> 00:13:53,910
for what you can do with motion blocks, but let's now
273
00:13:53,910 --> 00:13:56,280
take a look at some of the other categories of blocks
274
00:13:56,280 --> 00:13:57,970
that we have access to as well.
275
00:13:57,970 --> 00:14:00,300
I'll go now to the Looks section--
276
00:14:00,300 --> 00:14:04,090
notice that these are in a different color for a different category--
277
00:14:04,090 --> 00:14:08,730
and here, let me drag out this Say Hello block which looks interesting.
278
00:14:08,730 --> 00:14:09,880
I'll drag it out--
279
00:14:09,880 --> 00:14:13,088
and I'm not going to use these motion blocks anymore, so I'll get rid of them
280
00:14:13,088 --> 00:14:14,440
just by dragging them away--
281
00:14:14,440 --> 00:14:17,220
so now I just have this one Say Hello block.
282
00:14:17,220 --> 00:14:19,350
And let me move the hedgehog to the center
283
00:14:19,350 --> 00:14:22,500
just so we can see it a little more easily-- we'll move it to x equals 0
284
00:14:22,500 --> 00:14:24,660
and y equals 0.
285
00:14:24,660 --> 00:14:27,990
If I click on Say Hello, watch what happens--
286
00:14:27,990 --> 00:14:31,410
a little speech bubble appears next to the hedgehog
287
00:14:31,410 --> 00:14:33,780
and the hedgehog is saying hello.
288
00:14:33,780 --> 00:14:37,140
If I want it to say multiple things, I could stack multiple of these blocks
289
00:14:37,140 --> 00:14:42,113
together-- let's say hello and then say goodbye, for example,
290
00:14:42,113 --> 00:14:43,030
and see what happens--
291
00:14:43,030 --> 00:14:48,020
I'll click on it now, I'll click on it again.
292
00:14:48,020 --> 00:14:50,833
Notice that, again, we seem to have run into a similar bug,
293
00:14:50,833 --> 00:14:53,750
a bug-- some problem with our program that we're going to need to fix.
294
00:14:53,750 --> 00:14:58,850
I wanted for my program to first say hello and then say goodbye,
295
00:14:58,850 --> 00:15:01,760
but every time I click on it, it's just saying goodbye.
296
00:15:01,760 --> 00:15:04,070
And the reason is exactly the same thing that we
297
00:15:04,070 --> 00:15:06,830
saw a moment ago with the hedgehog moving around the stage--
298
00:15:06,830 --> 00:15:08,840
it's that Scratch's running through these blocks
299
00:15:08,840 --> 00:15:11,510
so quickly that we don't get time to see the hello,
300
00:15:11,510 --> 00:15:14,240
we just immediately see the goodbye.
301
00:15:14,240 --> 00:15:16,560
So if we want to see the hello for some time,
302
00:15:16,560 --> 00:15:20,690
we're going to need to tell Scratch to stay there for some number of seconds
303
00:15:20,690 --> 00:15:22,348
before moving on to something else--
304
00:15:22,348 --> 00:15:24,140
and there's a block, fortunately, that will
305
00:15:24,140 --> 00:15:25,970
do that for us, which is this one here.
306
00:15:25,970 --> 00:15:28,760
Say Hello for 2 Seconds will have the effect
307
00:15:28,760 --> 00:15:32,300
of saying hello, but rather than immediately move on to the next block,
308
00:15:32,300 --> 00:15:34,520
it'll stay there for some amount of time that
309
00:15:34,520 --> 00:15:39,020
will give us a chance to read what it is that the hedgehog is actually saying.
310
00:15:39,020 --> 00:15:42,830
So let me delete these blocks dragging them off into the editor,
311
00:15:42,830 --> 00:15:46,640
and replace it with Say Hello for 2 Seconds.
312
00:15:46,640 --> 00:15:49,640
And then if I want another one, I'll drag another block out--
313
00:15:49,640 --> 00:15:51,930
this one will be Say Goodbye for 2 Seconds,
314
00:15:51,930 --> 00:15:53,730
these are stacked on top of each other.
315
00:15:53,730 --> 00:15:58,190
So now, when I click on these blocks, the hedgehog says hello,
316
00:15:58,190 --> 00:16:01,620
and then the hedgehog says goodbye for two seconds as well.
317
00:16:01,620 --> 00:16:07,010
So we've been able to fix the bug that we've been able to create here.
318
00:16:07,010 --> 00:16:11,260
So now, Looks can affect-- not just what the character is saying,
319
00:16:11,260 --> 00:16:13,067
you can get a speech bubble to appear, you
320
00:16:13,067 --> 00:16:15,400
can get a thought bubble to appear with the Think blocks
321
00:16:15,400 --> 00:16:17,740
instead of with the Say blocks, but Looks also
322
00:16:17,740 --> 00:16:19,960
have to do with the costume for a sprite.
323
00:16:19,960 --> 00:16:22,630
Remember that last time we explored costumes and sprites,
324
00:16:22,630 --> 00:16:26,050
and how we could change the different costumes that a sprite might have.
325
00:16:26,050 --> 00:16:29,440
We did that before just by manually clicking on which costume
326
00:16:29,440 --> 00:16:31,090
we want the sprite to take on--
327
00:16:31,090 --> 00:16:33,370
now, we can start to program it using blocks
328
00:16:33,370 --> 00:16:35,860
to decide what's going to happen in our project,
329
00:16:35,860 --> 00:16:38,905
and when our sprites are going to change their costumes.
330
00:16:38,905 --> 00:16:40,780
So let's try a different character, I'm going
331
00:16:40,780 --> 00:16:44,440
to delete my hedgehog sprite by clicking that Trash icon,
332
00:16:44,440 --> 00:16:46,720
and let's create a new sprite.
333
00:16:46,720 --> 00:16:50,470
Go into Animals, and let's choose the bear this time.
334
00:16:50,470 --> 00:16:55,450
And I'm curious as to what costumes the bear has, so I can click on the bear.
335
00:16:55,450 --> 00:16:58,600
I go into the Costumes tab and I see that the bear has
336
00:16:58,600 --> 00:17:02,830
two costumes-- there's one called Bear A that's just the bear as it
337
00:17:02,830 --> 00:17:05,680
is right now, and there's also Bear B where
338
00:17:05,680 --> 00:17:07,970
the bear is standing up a little bit.
339
00:17:07,970 --> 00:17:12,760
So we got Bear A and Bear B, and I can toggle between them in the Costumes tab
340
00:17:12,760 --> 00:17:18,490
to decide what costume the character will take on, but I can program this
341
00:17:18,490 --> 00:17:20,780
as well by assembling some blocks together.
342
00:17:20,780 --> 00:17:25,569
So let me start with a block called Switch Costume to.
343
00:17:25,569 --> 00:17:27,819
Let's start with costume bear A, with the bear
344
00:17:27,819 --> 00:17:32,120
normally the way that it is right now, and let's give it a starting position.
345
00:17:32,120 --> 00:17:38,530
When I start, I would like for it to go to let's say, x equals--
346
00:17:38,530 --> 00:17:41,770
negative 131's OK, let's go negative 120 and negative 50,
347
00:17:41,770 --> 00:17:43,390
just to use some cleaner numbers.
348
00:17:43,390 --> 00:17:46,390
And that's going to be the starting position and the starting
349
00:17:46,390 --> 00:17:50,870
costume for the bear-- every time we click on this script,
350
00:17:50,870 --> 00:17:55,120
it's going to switch to this costume, it's going to move to this location.
351
00:17:55,120 --> 00:17:58,640
But now what I'd like for it to do is I want the bear to walk across the stage,
352
00:17:58,640 --> 00:18:00,640
and when it gets to the other side of the stage,
353
00:18:00,640 --> 00:18:02,053
the bear is going to stand up--
354
00:18:02,053 --> 00:18:03,970
that's maybe what I'd like for the bear to do,
355
00:18:03,970 --> 00:18:05,840
and so let's do that in two steps.
356
00:18:05,840 --> 00:18:08,320
First, I want the bear to walk across the stage,
357
00:18:08,320 --> 00:18:10,330
and then I want the bear to stand up.
358
00:18:10,330 --> 00:18:11,590
Walking across the stage?
359
00:18:11,590 --> 00:18:12,730
That sounds like motion--
360
00:18:12,730 --> 00:18:15,430
so it's going to be in the Motion section of my blocks.
361
00:18:15,430 --> 00:18:18,500
And I'll use this block, we've seen it before,
362
00:18:18,500 --> 00:18:25,930
let's take 2 seconds to glide 2 x equals 120 and y equals negative 50.
363
00:18:25,930 --> 00:18:28,963
So it's going to-- the y is not changing, it's not going up or down--
364
00:18:28,963 --> 00:18:30,880
the only thing that's changing is the x, we're
365
00:18:30,880 --> 00:18:34,480
moving to the right along the stage.
366
00:18:34,480 --> 00:18:37,720
And after you glide there, after you take two seconds to glide there,
367
00:18:37,720 --> 00:18:39,400
now I want it to stand up--
368
00:18:39,400 --> 00:18:41,560
that's going to be Looks, it's what it looks like--
369
00:18:41,560 --> 00:18:43,360
what costume it's taking on--
370
00:18:43,360 --> 00:18:48,670
and here let's go ahead and switch the costume to Bear B, so we'll try it now.
371
00:18:48,670 --> 00:18:53,080
I'll click on this script, and we start on the left-- the bear walks across,
372
00:18:53,080 --> 00:18:56,352
and when it gets to the right side of the stage, it stands up.
373
00:18:56,352 --> 00:18:58,060
And I can click it again, everything will
374
00:18:58,060 --> 00:19:01,190
reset because if we go back to costume A, we go back to the left--
375
00:19:01,190 --> 00:19:04,210
and every time I click it, the bear goes to one side,
376
00:19:04,210 --> 00:19:07,090
and then it stands up at the end of that.
377
00:19:07,090 --> 00:19:09,190
So we can combine Motion and Looks blocks
378
00:19:09,190 --> 00:19:12,730
to start to create stories just by using these sprites
379
00:19:12,730 --> 00:19:16,177
and changing where they are and what costumes they're taking on.
380
00:19:16,177 --> 00:19:18,010
And we can make our stories more interesting
381
00:19:18,010 --> 00:19:21,230
by adding some backdrops to our stage as well,
382
00:19:21,230 --> 00:19:24,430
so let's add a couple of backdrops where we might want for our bear
383
00:19:24,430 --> 00:19:27,080
to be walking through, for example.
384
00:19:27,080 --> 00:19:29,650
So I'll go ahead and choose a new backdrop,
385
00:19:29,650 --> 00:19:34,330
and I think I'll choose the forest--
386
00:19:34,330 --> 00:19:36,430
I'll have the bear walking through the forest.
387
00:19:36,430 --> 00:19:39,130
So that's one possible backdrop of the bear could be in--
388
00:19:39,130 --> 00:19:41,380
I want to pick another one, though, just have a couple of options
389
00:19:41,380 --> 00:19:42,255
that I can work with.
390
00:19:42,255 --> 00:19:45,220
So I'll go back to the bottom right, choose a new backdrop,
391
00:19:45,220 --> 00:19:47,260
and this time I would like--
392
00:19:47,260 --> 00:19:49,150
I'll scroll down near to the bottom.
393
00:19:49,150 --> 00:19:52,300
There is this one, which is called Woods and Bench, which
394
00:19:52,300 --> 00:19:54,560
I'll go ahead and click on as well.
395
00:19:54,560 --> 00:19:59,150
And so now I have the bear in the woods where there's a bench as well.
396
00:19:59,150 --> 00:20:01,750
So I've got these various different backdrops
397
00:20:01,750 --> 00:20:05,710
that I now have as part of my project, and now I'd
398
00:20:05,710 --> 00:20:09,640
like to construct a story that involves the bear moving
399
00:20:09,640 --> 00:20:11,800
through these various different backdrops--
400
00:20:11,800 --> 00:20:15,670
and so let's try and build this story one piece at a time
401
00:20:15,670 --> 00:20:18,940
I want the story to start in the forest, so I'll get rid of these blocks
402
00:20:18,940 --> 00:20:21,160
for now-- we can add them back later--
403
00:20:21,160 --> 00:20:25,180
but there's a block here called Switch Backdrop To, and Switch Backdrop
404
00:20:25,180 --> 00:20:29,240
To will let me choose what backdrop I want the story to have.
405
00:20:29,240 --> 00:20:31,060
So let's start in the forest--
406
00:20:31,060 --> 00:20:33,430
I'm going to choose the backdrop called Forest,
407
00:20:33,430 --> 00:20:35,920
that's where I want the story to begin.
408
00:20:35,920 --> 00:20:41,050
And I want the bear to begin off to the left, so I can move it to where I want,
409
00:20:41,050 --> 00:20:44,680
and I can look at the x and y values to see about what the x and y values
410
00:20:44,680 --> 00:20:48,940
should be, and I'm going to have it go to let's say
411
00:20:48,940 --> 00:20:52,620
negative 120 and negative 50 again--
412
00:20:52,620 --> 00:20:54,540
so just a choice of x and y value.
413
00:20:54,540 --> 00:20:57,440
Now when I click on this block, the bear goes to the forest,
414
00:20:57,440 --> 00:20:59,990
and it goes to a particular location.
415
00:20:59,990 --> 00:21:02,840
And I want for it to also not be standing up--
416
00:21:02,840 --> 00:21:04,550
and so that's its costume.
417
00:21:04,550 --> 00:21:09,215
So we're going to switch its costume to Bear A,
418
00:21:09,215 --> 00:21:11,840
and these all happened so quickly that it doesn't really matter
419
00:21:11,840 --> 00:21:13,880
what order these three blocks are in.
420
00:21:13,880 --> 00:21:15,900
But it is still going to run one at a time--
421
00:21:15,900 --> 00:21:19,580
it just happens so quickly that it looks like everything's just happening all
422
00:21:19,580 --> 00:21:22,760
at once-- where we go to the forest, we go to a particular location,
423
00:21:22,760 --> 00:21:28,670
we switch the costume to Bear A. And now what I want is for the bear to walk off
424
00:21:28,670 --> 00:21:32,630
the stage in this forest, and enter the other backdrop that we had--
425
00:21:32,630 --> 00:21:35,250
the woods with the bench there as well.
426
00:21:35,250 --> 00:21:36,560
And so I want it to walk--
427
00:21:36,560 --> 00:21:40,230
to do that, I can use the Glide block that we saw before.
428
00:21:40,230 --> 00:21:43,423
So let me have the bear take maybe 3 seconds to glide--
429
00:21:43,423 --> 00:21:46,590
I don't want the y value to change, it's just going to walk left and right--
430
00:21:46,590 --> 00:21:48,837
but the x value, I want it to walk off the stage,
431
00:21:48,837 --> 00:21:50,420
so I'm going to make this a big value.
432
00:21:50,420 --> 00:21:54,410
Something like 300 just to try and get it close to the edge of the screen--
433
00:21:54,410 --> 00:21:59,510
and after it walks off stage, now I want to switch the backdrop.
434
00:21:59,510 --> 00:22:02,720
So I'm going to go back to Looks, let's switch the backdrop--
435
00:22:02,720 --> 00:22:06,930
instead of going to the forest, let's now go to the woods with the bench--
436
00:22:06,930 --> 00:22:09,590
so Switch Backdrop to Woods and Bench.
437
00:22:09,590 --> 00:22:12,258
And now, as I'm thinking about this story,
438
00:22:12,258 --> 00:22:14,300
I'm going to have the bear move off to the right,
439
00:22:14,300 --> 00:22:16,220
the backdrop is going to change, and then
440
00:22:16,220 --> 00:22:18,970
I want the bear to come out from the left side-- sort of like it's
441
00:22:18,970 --> 00:22:21,090
moving from one scene into another.
442
00:22:21,090 --> 00:22:26,960
So I need to go back to the far left of my program,
443
00:22:26,960 --> 00:22:32,270
I'll have it go to negative 300 in terms of x, which is really far to the left.
444
00:22:32,270 --> 00:22:37,400
And then let's take maybe 3 seconds to glide to the middle--
445
00:22:37,400 --> 00:22:40,760
x equals zero, that's going to be right at the middle of the stage.
446
00:22:40,760 --> 00:22:43,550
So it's a whole bunch of blocks now, but it's telling a story.
447
00:22:43,550 --> 00:22:47,210
We start in the forest, start on the left side of the stage,
448
00:22:47,210 --> 00:22:51,110
start with costume Bear A. We're going to walk for 3 seconds
449
00:22:51,110 --> 00:22:55,550
to the right side of the stage, then switch the backdrop, go to the far left
450
00:22:55,550 --> 00:22:57,822
again, and then walk back out to the middle.
451
00:22:57,822 --> 00:22:59,780
And you can try this one block at a time to get
452
00:22:59,780 --> 00:23:02,863
a sense for how it's going to work, but when you run it all together now--
453
00:23:02,863 --> 00:23:04,490
I'll go ahead and click on this block--
454
00:23:04,490 --> 00:23:08,450
you see the bear move off to the right, and then it sort of shows up
455
00:23:08,450 --> 00:23:10,090
in another environment.
456
00:23:10,090 --> 00:23:13,340
We can try it again, and pay attention to which block might be happening when.
457
00:23:13,340 --> 00:23:15,440
We start in the forest on the far left, we're
458
00:23:15,440 --> 00:23:17,270
gliding three seconds to the right.
459
00:23:17,270 --> 00:23:19,730
The scene changes, we go to the far left,
460
00:23:19,730 --> 00:23:22,053
and we walk back out to the center.
461
00:23:22,053 --> 00:23:25,220
So by putting these blocks together-- and really by playing around with it--
462
00:23:25,220 --> 00:23:28,140
you might not have gotten to exactly that on the first try--
463
00:23:28,140 --> 00:23:31,550
but you can run the project, and if you don't like where the sprite ended up,
464
00:23:31,550 --> 00:23:33,530
you could tinker with the x and the y values,
465
00:23:33,530 --> 00:23:36,320
or how long it takes to glide from one place to another.
466
00:23:36,320 --> 00:23:38,390
But by assembling those blocks together, you
467
00:23:38,390 --> 00:23:41,960
have the ability to start to tell a story
468
00:23:41,960 --> 00:23:45,132
by creating some interesting blocks.
469
00:23:45,132 --> 00:23:47,840
And there are other blocks that you can use too inside of Looks--
470
00:23:47,840 --> 00:23:49,520
so I'll go ahead and delete these for now--
471
00:23:49,520 --> 00:23:51,500
but in the Looks section, we have the ability
472
00:23:51,500 --> 00:23:55,700
to change the size of the sprite if we want to make them bigger or smaller.
473
00:23:55,700 --> 00:23:58,760
We also have these blocks Show and Hide--
474
00:23:58,760 --> 00:24:01,620
Show and Hide just control this toggle here,
475
00:24:01,620 --> 00:24:05,240
which is whether or not the sprite is actually visible on the stage.
476
00:24:05,240 --> 00:24:08,580
If I click on Hide, the bear goes away--
477
00:24:08,580 --> 00:24:11,990
if I click on Show, the bear appears.
478
00:24:11,990 --> 00:24:14,900
So we've taken a look at how we can have the sprite move around,
479
00:24:14,900 --> 00:24:16,580
we've seen how it can change its looks.
480
00:24:16,580 --> 00:24:18,890
There's a third section here called Sound
481
00:24:18,890 --> 00:24:21,900
that can play some sound for a sprite as well.
482
00:24:21,900 --> 00:24:25,708
So for example here, there's a block called Play Sound Until Done.
483
00:24:25,708 --> 00:24:27,500
And here, if I had multiple sounds, I could
484
00:24:27,500 --> 00:24:30,620
choose from those different sounds, or I could record a new sound
485
00:24:30,620 --> 00:24:31,640
if I wanted to.
486
00:24:31,640 --> 00:24:35,450
And by clicking on this block, you'll hear a sound--
487
00:24:35,450 --> 00:24:37,610
the sound plays.
488
00:24:37,610 --> 00:24:39,770
And so those Sound blocks can be useful too
489
00:24:39,770 --> 00:24:42,080
if you want to play sounds inside of your project.
490
00:24:42,080 --> 00:24:46,100
And one other block that I'll show now inside of Control
491
00:24:46,100 --> 00:24:48,200
is this one called Wait.
492
00:24:48,200 --> 00:24:50,280
Sometimes in your project you just want nothing
493
00:24:50,280 --> 00:24:52,280
to happen for a little bit of time, a little bit
494
00:24:52,280 --> 00:24:55,820
of a pause between things that are happening on the project.
495
00:24:55,820 --> 00:24:58,900
And here, the Wait 1 Second block will wait one second,
496
00:24:58,900 --> 00:25:01,400
and I can change the input to change how long it's waiting--
497
00:25:01,400 --> 00:25:03,120
and then it will move on.
498
00:25:03,120 --> 00:25:05,840
So if I put these together with the Wait 1 Second block
499
00:25:05,840 --> 00:25:09,290
on top and then the Sound, well, then what will happen when I click
500
00:25:09,290 --> 00:25:14,150
is I won't hear the pop right away, but it will be one second--
501
00:25:14,150 --> 00:25:17,090
and then you hear the pop after the end of the second.
502
00:25:17,090 --> 00:25:20,810
And so that too can give you a little bit more control over your project
503
00:25:20,810 --> 00:25:22,700
and how it's working.
504
00:25:22,700 --> 00:25:27,560
And so, let's try and create a project that uses some of those blocks.
505
00:25:27,560 --> 00:25:30,950
I am not going to use the bear, so I'll go ahead and delete the bear.
506
00:25:30,950 --> 00:25:33,230
And I'll go ahead and change my backdrop-- if I click
507
00:25:33,230 --> 00:25:36,170
on Backdrops, back to backdrop one-- which is just
508
00:25:36,170 --> 00:25:39,260
this default white backdrop for now.
509
00:25:39,260 --> 00:25:42,770
But let's add a new sprite just to have a little bit of fun with this, let's
510
00:25:42,770 --> 00:25:43,910
pick a different animal.
511
00:25:43,910 --> 00:25:47,330
And this time I will pick the duck--
512
00:25:47,330 --> 00:25:48,440
so we got our duck.
513
00:25:48,440 --> 00:25:51,550
I want to center the duck, so I'll move it to x equals 0
514
00:25:51,550 --> 00:25:54,540
and y equals zero-- just to move it to the center of the stage.
515
00:25:54,540 --> 00:25:56,290
But here's what I'm going to do, I'm going
516
00:25:56,290 --> 00:25:59,380
to combine some of the blocks we've just been using.
517
00:25:59,380 --> 00:26:03,940
I'm going to go to Looks and hide the duck,
518
00:26:03,940 --> 00:26:07,360
then I want to wait one second-- that's under Control.
519
00:26:07,360 --> 00:26:10,540
So Control in the project, I would like it to wait one second--
520
00:26:10,540 --> 00:26:15,820
and then back to Looks, now I want to show the duck.
521
00:26:15,820 --> 00:26:18,820
And after it shows, let's play a sound--
522
00:26:18,820 --> 00:26:22,327
let's play the duck sound until it's done.
523
00:26:22,327 --> 00:26:24,910
And so this is going to let our duck play a little bit of hide
524
00:26:24,910 --> 00:26:27,660
and seek-- it's going to disappear, and then it's going to appear.
525
00:26:27,660 --> 00:26:31,810
So when I click on this, watch what happens on the stage--
526
00:26:31,810 --> 00:26:36,130
it hides, it waits one second, and after one second it shows up
527
00:26:36,130 --> 00:26:38,413
and it plays the duck sound as well.
528
00:26:38,413 --> 00:26:41,080
And so you could have a lot of fun with these sounds-- right now
529
00:26:41,080 --> 00:26:44,320
the duck just has one sound, but you could add other sounds to it as well.
530
00:26:44,320 --> 00:26:48,320
You could record new sounds, you could upload a sound from your computer
531
00:26:48,320 --> 00:26:51,790
if you'd like to, and we even have the ability
532
00:26:51,790 --> 00:26:55,090
to have other blocks to play sounds-- in particular, musical notes.
533
00:26:55,090 --> 00:26:57,580
There are extensions to Scratch-- extra blocks
534
00:26:57,580 --> 00:27:01,240
that you can add into your Block library that give your Scratch
535
00:27:01,240 --> 00:27:03,768
projects a few extra features.
536
00:27:03,768 --> 00:27:06,310
And let's try that out now, I'll go ahead and delete the duck
537
00:27:06,310 --> 00:27:08,440
and we'll go back to the usual cat.
538
00:27:08,440 --> 00:27:13,690
So I'll choose a sprite and I'll just go ahead and pick the cat again,
539
00:27:13,690 --> 00:27:17,350
and move the cat back to the center.
540
00:27:17,350 --> 00:27:20,590
But notice down here in the bottom left there's this blue block
541
00:27:20,590 --> 00:27:22,460
icon with a plus next to it.
542
00:27:22,460 --> 00:27:25,233
This is where I can get to the extensions for Scratch,
543
00:27:25,233 --> 00:27:28,400
and there are all sorts of different extensions for Scratch that we can use.
544
00:27:28,400 --> 00:27:30,130
We'll take a look at a few of them today,
545
00:27:30,130 --> 00:27:33,040
but we'll start with the Music extension--
546
00:27:33,040 --> 00:27:38,480
and the Music extension really lets you play music using Scratch box.
547
00:27:38,480 --> 00:27:45,160
So here's one called Play Note, and it's saying Play Note 60 for 0.25 beats.
548
00:27:45,160 --> 00:27:48,280
The number of beats, that's how long the notes going to be played for,
549
00:27:48,280 --> 00:27:51,555
60 is just a number corresponding to what note we're playing--
550
00:27:51,555 --> 00:27:54,430
and if you don't happen to know what note corresponds to what number,
551
00:27:54,430 --> 00:27:55,000
that's OK.
552
00:27:55,000 --> 00:27:58,442
If you click on the 60, what you'll see is a little piano up here--
553
00:27:58,442 --> 00:28:01,150
and if you've never played the piano, what I'm going to try to do
554
00:28:01,150 --> 00:28:03,370
is just play a scale where I'm just playing
555
00:28:03,370 --> 00:28:06,222
a whole bunch of notes in sequence that'll sound nice together.
556
00:28:06,222 --> 00:28:07,930
And I'm going to do that just by clicking
557
00:28:07,930 --> 00:28:14,830
on each of these different keys of the keyboard,
558
00:28:14,830 --> 00:28:18,520
and I noticed that every time I click on a different key, the note changes.
559
00:28:18,520 --> 00:28:22,700
Every note has a different number, and so if I want to play all of them--
560
00:28:22,700 --> 00:28:32,440
let me drag out eight of these blocks 1, 2, 3, 4, 5, 6, 7, and 8.
561
00:28:32,440 --> 00:28:34,510
And for each one, I'll select a different key--
562
00:28:34,510 --> 00:28:38,800
this will be the second white key, this will be the third one,
563
00:28:38,800 --> 00:28:44,080
this will be the fourth one, this one will be the fifth one,
564
00:28:44,080 --> 00:28:49,995
this one will be six, seven, and eight.
565
00:28:49,995 --> 00:28:52,120
So I've got eight blocks in sequence, each of which
566
00:28:52,120 --> 00:28:57,910
is playing a different note, and now when I click on this block
567
00:28:57,910 --> 00:28:59,827
you can hear that sort of scale.
568
00:28:59,827 --> 00:29:02,410
And there are other blocks too to change the way this sounds--
569
00:29:02,410 --> 00:29:04,930
I can set the instrument to change to something else
570
00:29:04,930 --> 00:29:07,970
if I want it to be a guitar playing for example.
571
00:29:07,970 --> 00:29:12,880
I can set the instrument to Guitar, and now the instrument
572
00:29:12,880 --> 00:29:13,970
sounds a bit different.
573
00:29:13,970 --> 00:29:16,030
If I want it to go faster or slower, that's
574
00:29:16,030 --> 00:29:19,330
something called tempo in music-- how quickly or slowly the music
575
00:29:19,330 --> 00:29:20,350
is going to play.
576
00:29:20,350 --> 00:29:25,045
I can change it to 80, for example, and try that.
577
00:29:25,045 --> 00:29:26,170
Plays a little bit faster--
578
00:29:26,170 --> 00:29:31,890
I could change it to something smaller like 40
579
00:29:31,890 --> 00:29:33,872
and then it plays a little bit more slowly.
580
00:29:33,872 --> 00:29:35,580
So there are a lot of blocks that you can
581
00:29:35,580 --> 00:29:37,920
use to change the way your project behaves
582
00:29:37,920 --> 00:29:40,230
to add features and interesting activities
583
00:29:40,230 --> 00:29:43,500
to what it is that you're sprites are doing on the stage.
584
00:29:43,500 --> 00:29:46,080
And I'll show you one other extension that's quite fun--
585
00:29:46,080 --> 00:29:48,420
I'll drag the music away for now.
586
00:29:48,420 --> 00:29:52,170
But let's now try the Pen extension-- the Pen extension is
587
00:29:52,170 --> 00:29:55,050
going to let us draw with our sprite.
588
00:29:55,050 --> 00:29:56,760
And so here's how that's going to work--
589
00:29:56,760 --> 00:30:00,840
I'm going to start the cat over on the left hand side,
590
00:30:00,840 --> 00:30:06,540
and I'm going to use this Pen Down block and the Pen Up block
591
00:30:06,540 --> 00:30:07,730
which we'll see in a moment.
592
00:30:07,730 --> 00:30:11,370
And the idea of this now is that I can draw on the stage
593
00:30:11,370 --> 00:30:14,340
just by putting a virtual pen down on the stage,
594
00:30:14,340 --> 00:30:17,370
moving the sprite across the stage, and then picking
595
00:30:17,370 --> 00:30:20,170
the pen back up at the end of it.
596
00:30:20,170 --> 00:30:23,250
And so I'm going to put the Pen Down, go into the Motion
597
00:30:23,250 --> 00:30:26,670
section of blocks-- and this time, let's try moving some number of steps.
598
00:30:26,670 --> 00:30:31,437
Maybe I'll move 30 steps, and then we'll lift the Pen Up--
599
00:30:31,437 --> 00:30:32,520
and so let's try this now.
600
00:30:32,520 --> 00:30:37,320
A click on this block, the pen goes down, we move 30 steps
601
00:30:37,320 --> 00:30:39,490
and we move, and the pen goes back up.
602
00:30:39,490 --> 00:30:42,270
And what you notice is that, as I do this,
603
00:30:42,270 --> 00:30:47,180
the cat is still moving 30 steps every time, but it's leaving behind this line
604
00:30:47,180 --> 00:30:48,180
that the pen is drawing.
605
00:30:48,180 --> 00:30:50,670
The pen's going down, we're drawing this line,
606
00:30:50,670 --> 00:30:52,300
and then it's picking back up again.
607
00:30:52,300 --> 00:30:55,980
And the result is that you can draw shapes, you can create works of art
608
00:30:55,980 --> 00:30:59,550
just by drawing, using a sprite and moving the sprite around and making
609
00:30:59,550 --> 00:31:01,627
sure the pen is down while you're doing so.
610
00:31:01,627 --> 00:31:04,710
And when the pen is up, then it doesn't matter where you move the sprite--
611
00:31:04,710 --> 00:31:05,970
it's not going to drop--
612
00:31:05,970 --> 00:31:10,170
you're only going to be drawing when that pen is actually down.
613
00:31:10,170 --> 00:31:12,630
But you don't have to just create straight lines--
614
00:31:12,630 --> 00:31:15,360
before, when we were first doing motion with the cat,
615
00:31:15,360 --> 00:31:16,950
we had the cat move in a circle.
616
00:31:16,950 --> 00:31:18,780
Remember, when we were having it move a little bit,
617
00:31:18,780 --> 00:31:21,072
and then rotate a little bit, and then move and rotate,
618
00:31:21,072 --> 00:31:22,870
ultimately move in a circle.
619
00:31:22,870 --> 00:31:26,520
So if we wanted to draw a circle on the Scratch stage,
620
00:31:26,520 --> 00:31:28,890
we could do that by combining our code that we
621
00:31:28,890 --> 00:31:32,190
use to move the cat in a circle along with the code
622
00:31:32,190 --> 00:31:35,550
for bringing the pen up, and bringing the pen back down.
623
00:31:35,550 --> 00:31:41,100
And the way we did that is by moving, but then-- before the pen goes up--
624
00:31:41,100 --> 00:31:48,480
let's also have the cat turn by 15 degrees and then lift the pen back up.
625
00:31:48,480 --> 00:31:51,715
And it'll have the cat start around the top of the circle,
626
00:31:51,715 --> 00:31:53,590
and that's probably where I want it to begin.
627
00:31:53,590 --> 00:31:55,680
But before I begin, I want to erase what's
628
00:31:55,680 --> 00:31:58,050
currently been drawn onto the stage, and that's
629
00:31:58,050 --> 00:31:59,940
back in the Pen section of the blocks.
630
00:31:59,940 --> 00:32:02,460
There's one block just called Erase All, that's
631
00:32:02,460 --> 00:32:05,700
going to erase anything that's been drawn onto the stage.
632
00:32:05,700 --> 00:32:07,710
So I'll click that, that erases the pen--
633
00:32:07,710 --> 00:32:10,080
and you'll notice there are other different Pen
634
00:32:10,080 --> 00:32:12,900
blocks I can use to change what color the pen is drawing in,
635
00:32:12,900 --> 00:32:16,560
to change the size of the pen, the thickness with which I'm drawing.
636
00:32:16,560 --> 00:32:18,870
But I'll just stick with the default for now,
637
00:32:18,870 --> 00:32:23,250
and we'll put the pen down, move 30 steps and rotate, move 30 steps
638
00:32:23,250 --> 00:32:24,300
and rotate--
639
00:32:24,300 --> 00:32:29,460
and as I do this over and over again, the cat's moving, and moving.
640
00:32:29,460 --> 00:32:33,090
And what you see is that we end up drawing a circle on the stage
641
00:32:33,090 --> 00:32:34,500
just by putting the pen down--
642
00:32:34,500 --> 00:32:37,260
and every time we move, we rotate a little bit,
643
00:32:37,260 --> 00:32:42,270
and the effect is that we can use the Pen tool to draw out this circle.
644
00:32:42,270 --> 00:32:45,690
And so those are just some of the blocks that you can use in Scratch.
645
00:32:45,690 --> 00:32:49,380
We saw blocks in the Motion category for moving the sprite around
646
00:32:49,380 --> 00:32:52,650
in order to move it left, right, up, or down, or rotate it, for example.
647
00:32:52,650 --> 00:32:57,353
The Looks section of blocks we can use to change the costume of a sprite
648
00:32:57,353 --> 00:32:59,520
to make it look a little bit different, or to change
649
00:32:59,520 --> 00:33:03,600
the backdrop that we see in the stage inside of our Scratch program.
650
00:33:03,600 --> 00:33:06,990
Or even to make our sprites speak up by saying something or thinking
651
00:33:06,990 --> 00:33:09,570
something inside of a speech, or a thought bubble.
652
00:33:09,570 --> 00:33:12,480
We took a look at some Control blocks-- the ability
653
00:33:12,480 --> 00:33:16,470
to wait some number of seconds, the ability to play sounds, the ability
654
00:33:16,470 --> 00:33:20,820
to make music, and use the pen in order to draw images and create works of art.
655
00:33:20,820 --> 00:33:23,880
And we can do all of that just by taking these blocks
656
00:33:23,880 --> 00:33:27,240
and putting them together in the sequence we want them to be in.
657
00:33:27,240 --> 00:33:30,810
And, ultimately using that, you can create some really interesting programs
658
00:33:30,810 --> 00:33:31,830
with Scratch.
659
00:33:31,830 --> 00:33:34,720
That's it for an introduction to programming with Scratch for today.
660
00:33:34,720 --> 00:33:37,553
Next time, we'll take a look at how we can use these sorts of blocks
661
00:33:37,553 --> 00:33:39,930
and take our Scratch Block projects even further.
662
00:33:39,930 --> 00:33:42,000
We'll see you next time.
663
00:33:42,000 --> 00:33:43,000
58239
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.