Scratch 是MIT 媒体实验室开发的一种编程语言,其目的是教授孩子和其他初学者学习编程。Scratch 2.0 支持计算机游戏、交互式故事、图形图像和计算机动画以及各种其他多媒体项目的开发。《Scratch 2.0趣味编程指南》的主要目的是通过开发一系列生动有趣的编程项目,帮助读者掌握使用Scratch2.0 进行计算机编程的基础知识。《Scratch 2.0趣味编程指南》分为14 章。第1 ~ 4 章介绍了Scratch 2.0 及其开发环境,带领读者学习构成Scratch 2.0 项目的各种不同的部分,然后学习如何创建和执行Scratch 2.0 项目。第5 ~ 13 章详细介绍如何使用各种不同类型的Scratch 2.0 功能块。读者将学习使用功能块来移动物体、存储和访问数据以及执行数学、条件和重复逻辑;此外,还将学习如何加入声音,以及绘制线条和形状。第14 章介绍了碰撞检测的概念,并且介绍了如何综合应用所学的知识来开发各种街机风格的游戏。
《Scratch 2.0趣味编程指南》适合对计算机程序设计的基础知识感兴趣的青少年以及不同年龄的初学者阅读,也适合家长和老师作为指导青少年学习计算机程序设计的入门教程。
通过Scratch 2.0,我们可以更容易、更有趣地学习计算机编程。《Scratch 2.0趣味编程指南》专注于基础知识并使用免费的Scratch编程语言,教你在计算机浏览器中使用图形、定制的功能块,开发出交互式故事、游戏、动画以及其他程序。
《Scratch 2.0趣味编程指南》为初学者量身打造,采用动手实践的学习方法,强调编程逻辑的设计和开发。你将学习一些重要的编程概念,而又无需陷入复杂的细节。《Scratch 2.0趣味编程指南》介绍的基本原理,也适用于学习其 他较为复杂的编程语言。
通过这本广受欢迎的、针对青少年读者的Scratch 2.0图书,你可以在不知不觉之中以快速、友好的方式学习基础知识并且在线分享你的作品。
本书中包含的精彩Scratch 2.0项目和游戏有:
+Wiggly 先生的舞蹈
+Scratch 虚拟鱼缸
+家庭影集
+NBA 知识问答游戏
+猜数字游戏
+小猫追球游戏
+疯狂的8 号球游戏
+家庭照片电影
+涂鸦绘图应用程序
+小猫钓鱼应用程序
+Scratch Pong游戏
Jerry Lee Ford, Jr. 是一名作者和讲师,也是一名拥有24 年经验的IT 从业
者,他做过自动化分析师、技术经理、技术支持分析师、自动化工程师和安全
分析师。他是37 本图书的作者,还与人合著了2 本图书。他拥有弗吉尼亚联邦大学的商务管理硕士学位,并且担任网络技术课程的助理讲师超过5 年的时间。
第1 章 Scratch 2.0 简介..... 1
1.1 了解Scratch 2.0 ............. 2
1.1.1 想法程序
分享 ...................... 2
1.1.2 Scratch 简介 ......... 3
1.1.3 Scratch 2.0 基于
功能块的编程
方法 ...................... 4
1.2 准备使用Scratch 2.0 ..... 5
1.3 创建第一个Scratch 2.0
应用程序 ......................... 7
1.3.1 创建新的Scratch 2.0
项目 ...................... 7
1.3.2 修改角色属性 ...... 9
1.3.3 添加代码
功能块 ................ 10
1.3.4 保存作品 ............ 12
1.4 加入Scratch 2.0 全球
社区 ............................... 12
1.4.1 分享你的作品 .... 13
1.4.2 在Scratch 2.0 网站
上注册 ................ 14
1.4.3 改变你的Scratcher
状态 .................... 16
1.4.4 保持联系 ............ 16
第2 章 熟悉Scratch 2.0
开发环境.............. 18
2.1 熟悉Scratch 2.0 项目
编辑器 ........................... 19
2.1.1 熟悉菜单栏
命令 .................... 19
2.1.2 在舞台上运行
Scratch 2.0 应用
程序 .................... 21
2.1.3 以全屏模式运行
应用程序 ............ 22
2.1.4 控制应用程序
执行 .................... 23
2.1.5 使用角色列表 .... 23
2.1.6 生成新的角色 .... 25
2.1.7 跟踪鼠标指针
位置 .................... 26
2.1.8 在代码功能块组
之间切换 ............ 27
2.1.9 熟悉脚本区域 .... 28
2.1.10 书包 .................. 33
2.2 添加项目说明、备注和
致谢 ............................... 34
2.3 使用Scratch 的绘图编辑
器创建新的角色 ........... 35
2.3.1 查看绘图画布 .... 37
2.3.2 使用编辑工具 .... 37
2.3.3 使用按钮控件 .... 40
2.3.4 指定颜色设置 .... 40
2.3.5 配置角色的旋转
中心 .................... 40
第3 章 Scratch 项目的基本
组件概览..............42
3.1 操作功能块和栈 .......... 43
3.1.1 参数 .................... 43
3.1.2 默认值 ................ 44
3.2 6 种基本的Scratch
功能块 ........................... 45
3.2.1 使用栈功能块 .... 45
3.2.2 使用启动
功能块 ................ 46
3.2.3 使用侦测
功能块 ................ 47
3.2.4 使用布尔
功能块 ................ 47
3.2.5 C 功能块 ............ 47
3.2.6 结束功能块 ........ 48
3.3 注意监视器 .................. 48
3.4 10 种Scratch 功能块 .... 49
3.4.1 在绘制画布上
移动对象 ............ 50
3.4.2 改变对象的
外观 .................... 51
3.4.3 发出一些声音 .... 53
3.4.4 绘制线条和
形状 .................... 54
3.4.5 存储和访问
数据 .................... 55
3.4.6 事件驱动的
编程 .................... 56
3.4.7 实现循环和条件
逻辑 .................... 57
3.4.8 侦测角色位置和
环境输入 ............ 58
3.4.9 使用运算符 ........ 59
3.4.10 定制功能块和
特殊功能块 ...... 60
3.5 获取功能块的帮助
信息 ............................... 62
第4 章 Wiggly 先生的
舞蹈一个快速
Scratch 项目........64
4.1 用Scratch 编程 ............ 65
4.2 创建Wiggly 先生的
舞蹈应用程序 ........... 66
4.2.1 步骤1:创建一个
新的Scratch
项目 .................... 67
4.2.2 步骤2:给舞台
添加一个背景 .... 68
4.2.3 步骤3:添加并
删除角色 ............ 70
4.2.4 步骤4:添加
音乐 .................... 72
4.2.5 步骤5:播放跳舞
音乐 .................... 74
4.2.6 步骤6:让Wiggly
先生跳舞 ............ 76
4.2.7 步骤7:测试新
项目的运行 ........ 78
第5 章 移动物体..............79
5.1 使用移动代码功能块 .... 80
5.2 移动和旋转角色 .......... 80
5.3 设置角色方向 .............. 82
5.4 重定位角色 .................. 84
5.5 修改角色的坐标 .......... 86
5.6 在舞台上弹回角色并
控制旋转角度 ............... 86
5.7 记录角色的坐标和
方向 ............................... 87
5.8 Scratch 卡片 ................. 88
5.9 创建一个Scratch 虚拟
鱼缸 ............................... 90
5.9.1 步骤1:创建一个
新的Scratch 应用
程序 .................... 91
5.9.2 步骤 2:添加舞台
背景 .................... 91
5.9.3 步骤 3:添加、删
除角色 ................ 91
5.9.4 步骤4:给舞台
添加合适的声音
文件 .................... 92
5.9.5 步骤5:播放声音
文件 .................... 92
5.9.6 步骤6:实现小鱼
游泳动画 ............ 92
5.9.7 步骤7:执行新的
Scratch 项目 ....... 94
第6 章 感知角色的位置和控制
环境设置..............96
6.1 使用侦测功能块 .......... 97
6.2 检测角色冲突和对象
之间的距离 .................. 97
6.3 提示并收集用户
输入 ............................ 102
6.4 获取键盘输入、鼠标
按键和坐标状态 ........ 103
6.5 获取音频数据 ............ 106
6.6 收集和处理视频
输入 ............................ 107
6.7 使用计时器 ................ 109
6.8 获取舞台和角色的
数据 .............................110
6.9 获取日期、时间数据和
用户名称 .....................110
6.10 创建家庭影集应用
程序 ...........................111
6.10.1 步骤1:创建一个
新的Scratch 2.0
项目 ................ 112
6.10.2 步骤2:添加并
删除角色和
造型 ................ 112
6.10.3 步骤3:给舞台
添加合适的声音
文件 ................ 113
6.10.4 步骤4:播放声音
文件 ................ 114
6.10.5 步骤5:添加显示
照片所需的编程
逻辑 ................ 114
6.10.6 步骤6:保存并执
行新的Scratch 2.0
项目 ................ 115
第7 章 存储和访问数据..... 116
7.1 学习如何操作应用
程序数据 ......................117
7.2 在变量中保存数据 .....118
7.2.1 创建Scratch 2.0
变量 .................. 118
7.2.2 将变量赋值给角色
和舞台 .............. 119
7.2.3 变量名的命名
规则 .................. 119
7.2.4 变量的作用域 ... 120
7.3 删除变量 .................... 122
7.4 访问属于其他角色的
变量 ............................ 123
7.5 变量功能块的使用
示例 ............................ 124
7.6 在列表中存储集合
数据 ............................ 125
7.7 开发一个NBA 知识问答
游戏项目 .................... 129
7.7.1 步骤1:创建一个
新的Scratch 2.0
项目 .................. 130
7.7.2 步骤2:为舞台
选择适合的
背景 .................. 130
7.7.3 步骤3:添加和
删除角色 .......... 130
7.7.4 步骤4:添加应用
程序所需的
变量 .................. 131
7.7.5 步骤5:为收集
用户输入的按钮
角色添加脚本 ... 132
7.7.6 步骤6:为主持人
添加脚本 .......... 133
7.7.7 步骤7:测试新的
应用程序 .......... 136
第8 章 数学运算............ 137
8.1 加减乘除四则运算 .... 138
8.2 理解运算优先级 ........ 138
8.3 生成随机数 ................ 139
8.4 比较运算 .................... 140
8.5 进行逻辑比较 ............ 142
8.6 操作字符串 ................ 143
8.7 舍入数字和获取余数 ... 144
8.8 使用数学函数 ............ 145
8.9 开发猜数字游戏 ........ 146
8.9.1 步骤1:创建新的
Scratch 2.0 应用程
序项目 .............. 148
8.9.2 步骤2:给舞台
添加背景 .......... 148
8.9.3 步骤3:添加和
删除角色 .......... 148
8.9.4 步骤4:添加应用
程序所需的
变量 .................. 149
8.9.5 步骤5:为应用
程序添加声音
文件 .................. 149
8.9.6 步骤6:添加捕获
用户输入的
脚本 .................. 150
8.9.7 步骤7:处理用户
猜测 .................. 151
8.9.8 步骤8:保存并运
行新的Scratch 2.0
应用程序 .......... 152
第9 章 控制脚本执行...... 153
9.1 Scratch 的事件功能块和
控制功能块简介 ......... 154
9.2 事件编程 .................... 154
9.2.1 启动脚本执行 ... 154
9.2.2 发送和接受广播
消息 .................. 155
9.3 控制脚本执行 ............ 157
9.3.1 暂停脚本执行 ... 157
9.3.2 执行循环 .......... 158
9.3.3 条件编程逻辑 ... 159
9.3.4 条件功能块的
嵌套 .................. 161
9.3.5 避免死循环 ...... 161
9.3.6 停止脚本的
执行 .................. 162
9.3.7 克隆角色 .......... 163
9.4 开发一个小猫追球
游戏 ............................ 164
9.4.1 步骤1:创建一个
新的Scratch
项目 .................. 166
9.4.2 步骤2:添加和
删除角色 .......... 166
9.4.3 步骤3:添加应用
程序所需的
变量 .................. 167
9.4.4 步骤4:给应用
程序添加声音
文件 .................. 167
9.4.5 步骤5:添加控制
小球移动的
脚本 .................. 167
9.4.6 步骤6:添加显示
游戏结束消息的
脚本 .................. 168
9.4.7 步骤7:添加控制
和协调游戏运行
所需的脚本 ...... 168
9.4.8 步骤8:保存并
运行测试 .......... 170
第10 章 改变角色的外观和
行为..................171
10.1 影响角色和舞台的
外观功能块 .............. 172
10.2 让角色说话和思考 .... 172
10.3 显示和隐藏角色 ...... 173
10.4 改变角色的造型和
舞台的背景 .............. 174
10.4.1 改变角色的
造型 ................ 174
10.4.2 改变舞台的
背景 ................ 176
10.5 对造型和背景应用
特效 .......................... 176
10.6 改变角色的大小 ...... 178
10.7 确定当两个角色重叠的
时候如何显示 .......... 179
10.8 获取造型和背景
数据 .......................... 180
10.9 开发疯狂的8 号球
游戏 .......................... 180
10.9.1 步骤1:创建一个
新的Scratch 2.0
项目 ................ 182
10.9.2 步骤2:添加和
删除角色 ........ 182
10.9.3 步骤3:添加应用
程序所需的
变量 ................ 183
10.9.4 步骤4:给应用
程序添加声音
文件 ................ 183
10.9.5 步骤5:添加控制
8 号球中的8 的显
示的脚本 ........ 183
10.9.6 步骤6:添加运行
游戏所需的编程
逻辑 ................ 184
10.9.7 步骤7:保存和
运行Scratch 2.0
项目 ................ 184
第11 章 添加生动的声音.... 185
11.1 播放声音 .................. 186
11.2 敲鼓 .......................... 187
11.3 弹奏音符 .................. 188
11.4 设置音量 .................. 189
11.5 设置并修改节奏 ...... 190
11.6 创建家庭照片电影 .... 190
11.6.1 步骤1:创建一个
新的Scratch 2.0
项目 ................ 192
11.6.2 步骤2:添加和
删除角色和
背景 ................ 192
11.6.3 步骤3:添加应用
程序所需的变量 ................ 194
11.6.4 步骤4:给应用程
序添加声音
文件 ................ 195
11.6.5 步骤5:编写应用
程序的编程
逻辑 ................ 195
11.6.6 步骤6:命名并
测试Scratch 2.0
项目 ................ 198
第12 章 绘制线条和
形状................. 199
12.1 清除舞台区域 .......... 200
12.2 复制舞台上的造型的
实例 .......................... 200
12.3 使用画笔绘画 .......... 201
12.4 设置画笔颜色 .......... 202
12.5 修改画笔色度 .......... 204
12.6 设置画笔的大小 ...... 204
12.7 创建涂鸦绘图应用
程序 .......................... 206
12.7.1 步骤1:创建一个
新的Scratch 2.0
项目 ................ 207
12.7.2 步骤2:添加和
删除角色 ........ 207
12.7.3 步骤3:创建控制
应用程序的
脚本 ................ 208
12.7.4 步骤4:保存并
运行测试 ........ 211
第13 章 改进代码组织..... 212
13.1 通过过程来简化脚本的
组织 .......................... 213
13.1.1 创建定制功
能块 ................ 213
13.1.2 使用定义的功能
块来创建一个
过程 ................ 215
13.2 用注释增加程序的
清晰度 ...................... 216
13.3 使用克隆简化项目并
减小项目大小 .......... 217
13.4 创建一个小猫钓鱼应用
程序 .......................... 219
13.4.1 步骤1:创建一个
新的Scratch 2.0
项目 ................ 220
13.4.2 步骤2:添加一个
合适的背景 .... 220
13.4.3 步骤3:添加应用
程序的角色 .... 220
13.4.4 步骤4:定义应用
程序变量 ........ 221
13.4.5 步骤5:创建用来
控制应用程序的
脚本 ................ 222
13.4.6 步骤6:测试
Scratch 2.0 ...... 224
第14 章 用碰撞检测进行
游戏开发........... 225
14.1 大多数游戏中的关键
功能 .......................... 226
14.1.1 管理游戏
状态 ................ 226
14.1.2 用循环控制游戏
逻辑 ................ 227
14.1.3 管理屏幕刷新
频率 ................ 228
14.1.4 在舞台上移动
物体 ................ 229
14.1.5 让角色可见和不
可见 ................ 229
14.1.6 制作声音 ........ 230
14.2 碰撞检测 .................. 231
14.3 收集用户输入 .......... 234
14.3.1 捕获键盘
输入 ................ 235
14.3.2 捕获鼠标
输入 ................ 235
14.3.3 记录鼠标移动和
位置 ................ 236
14.3.4 检测鼠标按钮
点击 ................ 236
14.4 创建Scratch Pong .... 237
14.4.1 步骤1:创建一个
新的Scratch 2.0
项目 ................ 238
14.4.2 步骤2:设置背景,
添加并删除
角色 ................ 238
14.4.3 步骤3:添加声音
效果 ................ 239
14.4.4 步骤4:定义
变量 ................ 239
14.4.5 步骤5:创建控制
Scratch Pong 游戏
的脚本 ............ 240
14.4.6 步骤6:测试你的
Scratch 2.0
项目 ................ 244