新書推薦:
《
朋党之争与北宋政治·大学问
》
售價:NT$
454.0
《
甲骨文丛书·波斯的中古时代(1040-1797年)
》
售價:NT$
403.0
《
以爱为名的支配
》
售價:NT$
286.0
《
台风天(大吴作品,每一种生活都有被看见的意义)
》
售價:NT$
245.0
《
打好你手里的牌(斯多葛主义+现代认知疗法,提升当代人的心理韧性!)
》
售價:NT$
301.0
《
新时代硬道理 广东寻路高质量发展
》
售價:NT$
352.0
《
6S精益管理实战(精装版)
》
售價:NT$
458.0
《
异域回声——晚近海外汉学之文史互动研究
》
售價:NT$
500.0
|
編輯推薦: |
情景教学:精选16个有趣案例,以故事形式进行串联
简单易学:步骤详细,循序渐进,简明易懂,适于操作
视频配套:赠送独家视频课程,跟着视频学习更轻松
内容经典:精选名校学生实操案例,人工智能教育专家打磨
互动交流:微信在线交流,答疑解惑,提供在线拓展内容
|
內容簡介: |
本书采用案例式学习方法,以喵小咪在户外游玩一天的经历为主线,贯穿不同的场景,用Scratch 3.0由浅入深地设计了16款互动小游戏和小程序。案例循序渐进、简明易懂,将抽象的编程思想巧妙地穿插在解决实际问题的进程中,让编程的趣味性与知识性相结合,符合青少年学习的特点。
全书共17章。第1章带领读者认识Scratch 3.0,并动手编出第1个小程序;第2~7章为入门篇,共设计5个小程序和 1个总结,通过基础案例带领读者了解 Scratch编程的入门知识;第 8~13章为游戏篇,共设计 6个小游戏,由浅入深地剖析了经典游戏编程的奥秘;第14~17章为进阶篇,共设计4个小程序,通过高级别难度案例的编写,强化编程的基本思想和设计理念。
本书适合对Scratch图形化编程感兴趣的青少年及家长阅读参考,也适合中小学信息技术课教师或培训机构使用。
|
關於作者: |
刘黎明,中国人工智能学会会员,毕业于北京航空航天大学,长期从事大中型软件开发和项目管理,目前在AI独角兽商汤科技专注于人工智能在教育行业的应用研究。
刘佳萱,热爱编程、热爱机器人,多次参加全国青少年科技创新大赛等,目前就读于清华大学附属中学。
|
目錄:
|
入门篇
1 初识Scratch
1.1 Scratch介绍 2
1.2 Scratch 3.0环境搭建 4
1.3 Scratch 3.0编程环境介绍 10
1.4 第一个程序:喵小咪出门玩 14
2 蝴蝶飞满天
2.1 新建与保存 22
2.2 添加背景与角色 24
2.3 认识坐标 27
2.4 为蝴蝶添加飞行代码 28
2.5 增加声音效果 34
2.6 完整的程序 38
3 跟蜻蜓交朋友
3.1 创建项目 40
3.2 添加背景和角色 41
3.3 设计互动对话 43
3.4 为角色添加对话代码 44
3.5 处理等待事件 47
3.6 完整的程序 51
4 路遇动物狂欢节
4.1 场景创设 53
4.2 添加背景和角色 54
4.3 认识造型 58
4.4 为红恐龙添加代码 59
4.5 增加音乐效果 62
4.6 为青恐龙添加代码 65
4.7 完整的程序 66
5 看飞行表演
5.1 添加背景和角色 68
5.2 画笔的作用 71
5.3 为飞机添加代码 73
5.4 拉出五彩的烟雾 76
5.5 来点欢呼声 81
5.6 完整的程序 84
6 激烈的赛跑
6.1 场景创设 86
6.2 初始化位置和大小 88
6.3 添加赛跑代码 93
6.4 多角色间的同步 97
6.5 来点喝彩声 102
6.6 完整的程序 105
7 编程就像拍电影
7.1 素材准备 108
7.2 编程串联 118
7.3 当好小导演 122
游戏篇
8 飞船发射
8.1 游戏流程分析 124
8.2 飞船升空 126
8.3 喵小咪发指令 130
8.4 更准确的同步 132
8.5 观众开始欢呼 135
8.6 进阶探索:造型的灵活使用 138
8.7 完整的程序 144
9 到蒙哥家做客
9.1 游戏流程分析 146
9.2 绘制游戏地图 146
9.3 创设障碍关卡 153
9.4 鼠标跟随 158
9.5 碰撞侦测 159
9.6 为障碍关卡添加代码 162
9.7 进阶探索:增强游戏氛围 167
9.8 完整的程序 171
10 猴子的盛宴
10.1 游戏流程分析 174
10.2 角色的鼠标控制 174
10.3 从天而降的香蕉 180
10.4 克隆让香蕉多到吃不完 181
10.5 碰撞侦测与计分 188
10.6 进阶探索:小偷刺猬 192
10.7 完整的程序 201
11 遇见潜水员
11.1 游戏流程分析 203
11.2 初始化多场景游戏 204
11.3 方向与角度 208
11.4 背景动态切换 210
11.5 潜水员水下表演 216
11.6 进阶探索:动感海星 224
11.7 完整的程序 227
12 大象头顶球
12.1 游戏流程分析 230
12.2 有弹性的球 231
12.3 大象表演 236
12.4 给游戏计分 244
12.5 退出条件判断 247
12.6 进阶探索:增加礼物 251
12.7 完整的程序 255
13 溶洞中的小鸟
13.1 游戏流程分析 258
13.2 绘制溶洞场景 259
13.3 绘制石钟乳 263
13.4 随机变化的关卡 264
13.5 小鸟飞行控制 272
13.6 碰撞侦测与计分 276
13.7 进阶探索:添加钻石 282
13.8 完整的程序 288
进阶篇
14 精彩的自动驾驶
14.1 游戏概要设计 292
14.2 绘制最简线路图 294
14.3 绘制带探测器的小车 297
14.4 为探测器编写代码 299
14.5 自动探路功能 301
14.6 完整的程序 302
14.7 进阶探索:赛车场驾驶 303
14.8 更多有趣的探索 308
14.9 最终程序脚本 308
15 试试键盘游戏
15.1 游戏概要设计 311
15.2 循环飞行的直升机 312
15.3 空投字母 316
15.4 键击命中 324
15.5 得分和音效 333
15.6 完整的程序 340
15.7 进阶探索:添加剧情介绍 342
15.8 最终程序脚本 355
16 喵小咪回家去
16.1 项目概要设计 359
16.2 初始化主角 360
16.3 绘制场景 361
16.4 角色移动 371
16.5 场景连贯循环 378
16.6 进阶探索:动作控制 383
16.7 碰撞侦测 388
16.8 最终程序脚本 399
17 跟猫妈妈一起盘点见闻
17.1 项目概要设计 402
17.2 场景创建 402
17.3 回忆的泡泡 406
17.4 列表存储 409
17.5 完整的程序 425
17.6 期待明天 426
|
內容試閱:
|
第1章 初识Scratch
Scratch是什么?它是那种搭搭积木就能做出自己的小游戏的工具吗?
没错!Scratch就是一种把复杂的编程语言简化为搭积木的工具。使用者通过搭积木,就可以很轻松地创造出交互式故事、动画、游戏等。
Scratch极大地降低了编程的门槛、提升了编程的乐趣,让全世界的孩子都可以轻松入门编程,掌握编程的基础逻辑和算法原理。
1.1 Scratch介绍
Scratch 2007年5月诞生于MIT(麻省理工学院)媒体实验室。它是为青少年和其他初学者设计的图形化编程工具,已被翻译成70多种语言,在超过150个国家和地区被广泛使用。
1.1.1 Scratch概览
这么说来,Scratch好像非常“高大上”呀!它真的有这么强大吗?接下来就让我们揭开它的神秘面纱,看看Scratch到底“长得是什么样子”,看看Scratch编程到底是怎么个编法。Scratch 3.0的主界面如图1.1所示。
图1.1 Scratch 3.0主界面
Scratch 3.0的主界面也可以称为集成开发环境(IDE)。它集成了积木仓库、拼搭的场所、展示和表现的舞台等操作功能;也集成了绘图创建程序、数字音乐播放和编辑、造型动画、视频侦测、文字朗诵等多媒体功能;还集成了基本的算术运算、关系运算、逻辑运算等编程基础功能。
那么,Scratch编程是什么样子呢?图1.2中示例了用Scratch 3.0编出的一段程序。
图1.2 Scratch 程序样例
观察程序样例可以发现,Scratch程序跟我们传统上所说的Python程序、C语言程序差别很大,并不是满屏的英文和标点符号。它看上去就像是五颜六色的积木组合。以图1.2所示的程序为例,一眼就可以读懂程序要表达的意思。内容大概是“当绿旗被点击”时,让角色“移动10步”,再“说 你好! 2秒”,然后“播放声音 喵”,再“等待1秒”,又“说 我就是Scratch!2秒”。
的确,Scratch编程就是这么简单直接,只要你能认识每一块积木上的文字,基本上就可以开始编程了,是不是很有趣呢?
这么简单就能编程吗?Scratch会不会只是一个玩具呢?
当然不是!Scratch虽然入门简单,但是功能丰富全面。我们用Scratch可以实现轻松编程,创作出由简到繁、不同类型、不同复杂度的互动游戏、交互动画、情境绘本等。在这个过程中,需要用到科学、技术、工程、艺术、数学等众多学科的知识,通过动手操作,驱使青少年主动探究“积木”背后的“秘籍”,真正做到“在玩中学”“带着兴趣学”,是STEAM教育理念一个极佳的实践方式。
那么,你想不想知道Scratch是怎么被设计出来的?为什么这样的设计更适合青少年编程入门呢?
1.1.2 Scratch的意义
C语言、C 语言、Java语言、Python语言等都是很多人耳熟能详的编程语言。之所以被称为语言,是因为它们主要的作用,是让人能跟计算机交流、沟通。根据语言规则编写出来的程序,人和计算机彼此都能“听”得懂、能相互理解,人们也能通过编程指挥计算机工作、发挥计算机更大的作用。
因此,学习传统意义上的编程,件事就是要学会这门语言的语法规则,包括如何标识一句话结束、怎样赋值、有哪些关键字、如何输入输出等。
这些语法规则少则几十条、多则数百条,并且各个编程语言间的差别很大。在编程过程中需要遵从各自的语法,一旦语法弄错,整个程序将无法运行,不能完成跟计算机之间的交互。
“先学语法,再学编程”,这无疑增加了学习的难度,相当于给编程学习架设了一道门槛。很多初学者也往往因为“记不住语法”“总是语法出错”被挡在编程的门外。同时,编程的语法多用英文书写,对于非英语国家的学习者来说,门槛更高。
Scratch的出现,彻底扭转了这一局面。
Scratch借用拼搭积木的思想,把众多的语法指令包装在一块块不同颜色、不同形状的积木里,让人们可以通过拼搭积木来完成编程。
在Scratch中,人们只需要用鼠标从不同功能的模块中选择和拖曳积木,就可以组合、拼搭出一个个可以运行的程序,实现各种交互故事、动画、游戏、音乐和美术作品等。
每块积木都有各自的凸起和凹槽,非常形象,小朋友都会使用。因此,使用拖曳积木的方式能够组合出程序,再也不用担心语法问题,不用担心像学习其他语言那样因不熟悉语法而导致程序出错。Scratch编程降低了门槛,减少了初学者的挫败感,让小学生也可以进行编程了。
同时,使用拖曳积木的方式编程,人们可以更专注于思考和解决问题,也更敢于进行尝试和总结,对于编程者开拓逻辑思维能力和理解算法原理非常有帮助。Scratch中丰富的图像、动画、声音处理积木,也使编程的过程一改呆板的文字输入、输出,让编程变得轻松有趣。
学习编程的过程,可以是枯燥乏味的,也可以妙趣横生的。现在,我们将要进入Scratch缤纷多彩的编程世界。在这里,我们将通过分析思考、编写代码、检查排错等步骤完成一个个有趣的项目,从而享受创意的美妙和成功的喜悦。你有没有迫不及待呢?
让我们马上出发,进入Scratch编程世界吧!
1.2 Scratch 3.0环境搭建
Scratch于2007年5月首次发布,Scratch 1.0版本基于Squeak平台的Smalltalk语言开发,可运行于Windows、Mac OS X和Debian/Ubuntu等操作系统,包括了积木式编程的基本功能。
Scratch 2.0于2013年5月发布,基于Adobe Flash平台开发,分为在线版本和离线版本,增加了克隆相关的积木组,支持可拓展积木。
Scratch 3.0于2019年1月发布,基于HTML5技术开发,分为在线版本和桌面版本,可运行于Windows、Mac OS X等操作系统,增加了音乐、画笔、视频侦测、文字朗读、翻译等选择性下载扩展积木组。
1.2.1 Scratch 3.0在线编辑器
Scratch 3.0是历经十多年发展演化的一个版本,它重要的特点就是能够提供更加方便易用的在线编辑功能。在联网的状态下,用户通过网络浏览器(如Chrome、Firefox、IE、Edge或Safari等)访问MIT Scratch官方网站的Scratch在线编辑器,就能够创作和管理应用程序,不需要在自己的电脑中下载和安装Scratch软件。
MIT Scratch官方网站的网址为https://scratch.mit.edu,使用网络浏览器访问Scratch官方网站,默认显示的是英文界面,如图1.3所示。
图1.3 MIT Scratch官方网站
注意:MIT Scratch及其官网会不定期更新和改版,本书所列图示仅供参考。如果打开后看到的跟本书界面有所差异,请根据实际情况进行操作。
如果希望切换成中文显示,可以拖动页面滚动条到页面底部。页面底部有一个写着“English”的下拉列表框,如图1.4所示。单击“English”右边的倒三角形按钮,在弹出的列表中选择“简体中文”选项,就可以将界面切换成中文显示。
图1.4 切换MIT Scratch官方网站的显示语言
切换后的中文界面如图1.5所示。
图1.5 中文显示的MIT Scratch官方网站
单击“开始创作”按钮(或英文显示时的“Start Creating”按钮),就可以进入Scratch 3.0的在线编辑器,如图1.6所示,不用安装任何软件就可以直接开始编程。
对于初学者,这是使用Scratch 3.0快捷的方法。如果需要,还可以注册一个MIT Scratch官方网站账号,已注册的用户可以把自己编写的Scratch程序或创作的Scratch项目分享到官方社区,与来自全球的编程爱好者交流和讨论。如果不想注册,可以直接跳到第1.2.2节。
图1.6 Scratch 3.0在线编辑器
在MIT Scratch官方网站首页,单击右上角的“加入Scratch社区”(或英文显示时的“Join Scratch”)按钮,进入注册流程,如图1.7所示。
图1.7 开始注册MIT Scratch官方网站账号
输入必须填写的内容,单击“下一步”按钮。
经过如此几个步骤的注册填写之后,MIT Scratch官方网站会给你的注册邮箱发送一封确认邮件,通过访问电子邮箱中的验证链接完成注册。
在MIT Scratch官方网站的首页,单击右上角“登录”按钮进行登录后,再次进入Scratch 3.0在线编辑器,可以发现在页面左下方出现一个“书包”,如图1.8所示。有了书包功能,就可以把常用的角色、造型、声音和代码等资源拖入存放,在需要时快速找到它们。
图1.8 Scratch 3.0的书包功能
注意:书包是MIT Scratch官方网站提供的一个可选功能,不是必需的,未注册或没有书包并不影响对本书的阅读和操作。
1.2.2 Scratch 3.0离线安装
因为MIT Scratch官方网站服务器在美国,网络不好时,打开网址会比较慢,需要耐心等待才能加载完成,所以从方便性角度考虑,可以安装Scratch 3.0的离线桌面版本。
Scratch 3.0离线桌面版本功能上跟在线版本基本一样,下载后可以安装在个人电脑上运行,使用时双击打开即可,并不需要访问网络。
当然,如果你能够快速地访问MIT Scratch官方网站,流畅地使用Scratch在线编辑器,那么可以跳过本小节的内容,在以后需要时再安装Scratch离线桌面版本。
接下来,介绍Scratch 3.0离线桌面版本的下载和安装方法。
将MIT Scratch官方网站首页滚动到页面底部,可以看到页面的中间“支持”下面有个“下载”(或英文显示的“Download”)链接,如图1.9所示。
图1.9 MIT Scratch官方网站的离线编程器链接
单击“下载”链接,进入Scratch桌面软件的介绍页面,如图1.10所示。
图1.10 Scratch 3.0桌面软件页面
通常情况下,MIT Scratch官方网站会根据你使用的个人电脑,帮你选择Windows版本或是Mac OS等版本的软件,如果选择有误,你也可以单击“选择操作系统”后的按钮,找到正确的下载版本。
单击“直接下载”(或英文显示时的“Direct download”)链接,将软件下载到个人电脑,进行安装即可。下面简单地介绍在Windows 10操作系统中安装的过程。
下载安装文件。选择“Windows”
选项,单击“直接下载”链接,下载安装文件,如图1.11所示。
图1.11 下载Scratch 3.0桌面软件
安装Scratch 3.0桌面软件。找到下载的软件,双击.exe文件,即可进行安装。安装以后会在桌面上生成“Scratch Desktop”图标,双击图标,Scratch 3.0桌面软件的运行界面如图1.12所示。
图1.12 Scratch 3.0桌面软件运行界面
注意:如果个人电脑使用Windows操作系统,MIT Scratch官方网站推荐Windows 10以上的版本,经测试在Windows 7中也可以正常安装和使用,但是如果你使用的是Windows XP及以下操作系统,将无法安装。
如果你对个人电脑操作不熟悉,可以关注微信公众号“师高编程”,输入“Scratch安装”,查看“在Windows系统中安装Scratch 3.0”或“在Mac OS中安装Scratch 3.0”,获取拓展资料。
设置Scratch 3.0编辑器,打开Scratch 3.0桌面软件,默认界面是英文的,那么如何调整为中文界面呢?
单击界面左上角的“地球”按钮,将弹出的下拉列表滚动到底部,选中“简体中文”选项即可,如图1.13所示。
Scratch 3.0桌面软件切换成中文显示后的界面,如图1.14所示。
图1.13 选择界面的显示语言 图1.14 中文显示的Scratch 3.0桌面软件
1.3 Scratch 3.0编程环境介绍
Scratch 3.0是一个集成开发环境(IDE),界面上按钮和功能比较多,可以操作的地方也比较多。为了便于学习和明确指引,这里将Scratch 3.0的界面按照功能分成4个区,分别是指令区、编程区、舞台区和角色列表区,如图1.15所示。
图1.15 Scratch 3.0的4个功能分区
本书在介绍各种操作时,多数情况都会描述成类似于“拖取指令区中‘运动’分类的‘移动10步’积木”这样的语句(即前一半是功能区定位,后一半是具体积木的定位),以方便读者准确理解操作步骤。
接下来简要介绍4个区的功能。如果你迫不及待地想开始编程,也可以跳过本节内容,直接进入第1.4节。
1.3.1 舞台区
舞台区位于Scratch 3.0的右上角,如图1.16所示。
图1.16 Scratch 3.0的舞台区
舞台区是编程中跟“显示”相关的区域,就像一个剧院的舞台,华美的背景下各种角色都会在这个舞台上表演。同时,程序执行的结果会在这个舞台上展现。
舞台区左上方的“绿色旗帜”(以下简称“小绿旗”)是程序启动按钮,单击它开始执行程序。左上方的“红色圆球”是停止按钮,单击它可以停止程序的运行。
舞台区的右上角是“全屏”按钮,单击它,舞台会变大、扩展为全屏。“全屏”按钮左侧分别是“大舞台”按钮和“小舞台”按钮,单击不同的按钮可以看到舞台区的放大和缩小。
注意:理解和掌握软件操作的好方法,是动手试一试!上面介绍的几个按钮,读者可以打开软件动手点一点,看看舞台区有什么变化?我们在学习后面介绍的案例时也是一样,可以一边看书,一边动手操作,这是快的学习方法。
1.3.2 角色列表区
角色列表区位于舞台区的下方,如图1.17所示。
图1.17 Scratch 3.0的角色列表区
编程过程中用到的所有角色,都会在角色列表区陈列出来。当我们需要对某一个角色做操作时(也即指挥某一个角色做动作时),也需要在这个区域选中这个角色,后面的案例中会详细讲到。
角色列表区分左右两部分,左边是“角色”相关信息,右边是“舞台背景”信息。
在左边的“角色”信息框中,从上到下包括角色名称、角色坐标、角色显示与否、角色大小、角色方向,以及编程中用到的角色列表和“添加角色”按钮。
在右边的“舞台背景”框中,上部的长方形显示的是当前舞台区正在使用的背景图,下面是“添加背景”按钮。
具体功能简要描述如下,后面的章节中会详细讲到各项功能的应用。
“角色1”是当前角色的名称,在输入框内可以修改。
“x”和“y”是角色在舞台区的位置,用坐标(x, y)来表示。
“显示”右侧的两个按钮,分别用来控制当前角色在舞台区的显示和隐藏。
“大小”用来控制当前角色在舞台区显示的大小,“40”表示40%。
“方向”用来控制当前角色在舞台区的旋转方向。
“添加角色”按钮包括4个功能,即“选择一个角色”“绘制”“随机”“上传角色”。
“添加背景”按钮也包括4个功能,即“选择一个背景”“绘制”“随机”“上传背景”。
1.3.3 指令区
指令区位于窗口的左侧,集合了Scratch 3.0提供的所有操作指令。每个指令都以积木的方式分类存放。不同的颜色代表不同类别的指令,有运动、外观、声音、事件、控制、侦测、运算、变量、自制积木等九大类,如图1.18所示。单击左侧的圆球,可以滚动到对应的分类。
图1.18 Scratch 3.0的指令区
每一块指令积木都有凸起和凹槽,不同的积木据此可以拼合在一起。编程时操作者拖放合适的积木到编程区,拼合出各种功能,从而完成想要实现的程序。能够熟练地使用这些积木,实现我们想要的效果,是阅读本书的首要目标,后面的各个章节会由简入繁逐步展开介绍。这里,先大致了解一下各个类别的概况。
运动:运动类别的积木为深蓝色,包括移动位置、转动角度等运动相关的功能。
外观:外观类别的积木为深紫色,包括说话、造型、大小、特效等显示相关的功能。
声音:声音类别的积木为浅紫色,包括播放声音、音效处理、音量处理等功能。
事件:事件类别的积木为浅黄色,包括各种事件的获取和广播消息等相关的功能。
控制:控制类别的积木为深黄色,包括程序执行流程相关的分支、循环、终止及克隆等相关的功能。
侦测:侦测类别的积木为青绿色,包括鼠标、键盘等各种状态的侦测,以及计时器、登录用户等相关的功能。
运算:运算类别的积木为绿色,包括数学运算、逻辑运算及字符串操作等功能。
变量:变量类别的积木为棕黄色,包括变量和列表的定义及相关操作功能。
自制积木:自制积木类别为红色,可以根据需要定制自己的积木,类似于传统编程中的自定义函数或方法。
注意:本书由于篇幅所限,重点在于通过案例和游戏的实际操作来开发计算思维,可能不会对每一块积木都进行详细地介绍,要理解和掌握这些积木,读者还是要多动手尝试。
1.3.4 编程区
编程区位于窗口中央,是Scratch 3.0编程的核心区域。在指令区的顶部有“代码”、“造型”和“声音”3个标签按钮,单击“代码”标签按钮在窗口中部会显示代码标签页,如图1.19所示。
图1.19 代码标签页
在编程区的代码标签页中,可以拼搭积木,通过组合不同的指令积木,实现编程。
代码标签页的右上角通常会有一个半透明的图标,如图1.19中黄色的喵小咪。这个图标就是当前角色的图示,表示正在对这个角色或背景进行拼搭积木、进行编程。后面的章节会反复用到。
单击“造型”标签按钮,进入造型标签页,如图1.20所示。
造型是Scratch 3.0中非常重要的概念,角色动画主要通过不同造型的切换来实现,后面的章节会详细讲到。
在造型标签页中,可以对当前角色的造型进行编辑,包括添加造型、复制造型、修改造型、删除造型等各种操作。
单击“声音”标签按钮,进入声音标签页,如图1.21所示。
图1.20 造型标签页 图1.21 声音标签页
声音标签页用来处理当前角色所拥有的声音,包括添加声音、复制声音、修改声音、删除声音等。
通过本节的学习,相信你已经从整体上认识了Scratch 3.0的编程环境,了解了界面上有4个区及每个区的大致功能。但是,如果要精确掌握这些按钮都是怎么使用的,这些积木应该怎样拼搭才能产生有趣的效果,就请跟着喵小咪一起开启神奇的编程之旅吧!
|
|