书名:Scratch 3.0少儿游戏趣味编程2
ISBN:978-7-115-54140-6
本书由人民邮电出版社发行数字版。版权所有,侵权必究。
您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。
我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。
如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。
著 李 强 李若瑜
责任编辑 陈冀康
人民邮电出版社出版发行 北京市丰台区成寿寺路11号
邮编 100164 电子邮件 315@ptpress.com.cn
网址 http://www.ptpress.com.cn
读者服务热线:(010)81055410
反盗版热线:(010)81055315
本书通过15款精彩的趣味游戏,详细讲解了Scratch 3.0的使用方法与编程技巧,帮助读者快速掌握程序设计的基本思想和方法。
全书共8章。第1章带领读者认识Scratch 3.0,第2章介绍4款入门级的游戏及其编写过程,帮助读者做好准备和过渡;第3章介绍了4款初级游戏的编写,第4章和第5章分别介绍了两款中级游戏的编写,第6章介绍了高级游戏“保卫城池”的编写,第7章介绍了高级游戏“扫雷”的编写,第8章介绍了高级游戏“超级马里奥”的编写。本书游戏选材精练有趣,结构合理,由浅入深,符合读者学习规律,讲解生动活泼,寓教于乐。
本书适合中小学信息技术课教师或培训老师,以及想要让孩子学习Scratch 的家长阅读参考,也非常适合小学生或初中学生自学。
到2019年,我已经陆续写作出版了4本少儿编程方面的图书,这些图书得到了众多读者和培训机构老师的欢迎。Scratch 3.0编程相关的两本图书反响很大,我经常会通过电子邮箱、微信公众号、微信等方式,接收到读者的来信和积极正面的反馈,或表达喜爱,或请教问题,或提出更好的建议和更多更细的需求。从读者提出的问题中,我能够感受到他们强烈的求知欲和阅读需求,而这也正是驱动我继续研究和不断写作的原生动力。
回想最初编写《Scratch 3.0少儿游戏趣味编程》一书的动机,只是想减少李若瑜玩电脑游戏的机会,同时又能和他一起学习和交流Scratch 3.0编程。没想到这本书上市后,受到了读者朋友的青睐,短短1年的时间,一印再印,成为同类图书中的畅销书。通过这本书的出版,我更加清晰地感受到青少年读者阅读和学习这本书还存在一定的困难和门槛,而市场上还存在入门级图书的空白。于是,我便很快开始着手编写《Scratch 3.0少儿编程趣味课》。我对该书内容结构进行了精心设计,在案例选材方面也是颇费心思,在讲解方式上,更注重基础知识,逻辑更加清晰,语言更加生动易懂。
《Scratch 3.0少儿编程趣味课》上市之后,虽然也得到了很多读者的喜爱,尤其是很多小读者和培训机构的喜爱,但其受欢迎的程度似乎没有《Scratch 3.0少儿游戏趣味编程》那么强。这让我内心难免有一点点失落。上市时机固然是一方面原因,另外一方面,我相信很多入门级的读者还没有机会去认识和感受《Scratch 3.0少儿编程趣味课》内容的精心设计和独到之处。
2020年3月,人民邮电出版社的异步社区尝试开展了《Scratch 3.0少儿编程趣味课》读书打卡活动,数百个小朋友在线打卡,按照规定的进度学习这本书的内容。我了解到,大部分小读者都能够跟上每节课的进度,进而掌握图书的内容并编写出其中的示例,我感觉到很欣慰也很欣喜。这说明我对这本书下的心思没有白费,也证实了它确实更加适合入门级的读者,非常适合小读者自学,而不需要家长和老师的任何辅助。
在少儿编程热度日渐上升的今天,社会上、教育界,甚至家长中有这样一种观点,认为少儿教育和培训中,游戏化的倾向太严重了,搞得孩子玩得多,学得少。对此,我的观点是,游戏是人类的天性,也是孩子的天性。我们不应该一味地反对游戏,而是要正确利用游戏来引导和教育,让娱乐性贯穿在教育的整个过程中,提升教育的效果和可持续性。我也不认为当前少儿教育和培训中游戏化的倾向太严重,与其完全拒绝孩子接触电子产品和游戏的机会,还不如通过游戏引发孩子的好奇心、学习编程的原动力和编出游戏的成就感。
Scratch的发明者米切尔·雷斯尼克(Mitchel Resnick)在《创作式学习方法》这篇文章中表达了这样一种观点,“幼儿园的小朋友们一起编故事、搭城堡、画画儿,由此发展并提高了自己创新性思考和协作的能力,而这恰恰是要在现代社会中获得成功和成就感所最需要的能力”。
他进而指出:“幼儿园的这些活动是一种螺旋式上升的过程,孩子想象自己能做些什么,并且基于自己的想法,使用积木、手指和其他材料创建项目,把玩自己的创作成果、和其他人分享思路和创意,思考别人给出的体验,所有这些还能够驱动他们产生新想法、实现新想法。这种迭代式的学习过程正是在为当今快速变化的社会做理想的准备。在今天的社会里,人们必须要不断地针对生活中意料之外的情况提出创新的解决方案。”
如果我们把游戏看作是“故事”“城堡”“画作”一样的工具和项目,那么,到底用什么工具和项目来培养孩子的创新能力和协作能力并不是最关键的因素,“游戏”两个字也就不再是心中的执念了。Scratch只不过是代替了“积木”“手指”和其他材料(卡片、木棒、颜料、橡皮泥……)的一种电子媒体技术,只不过它更方便、更好用而已。我们更应该在意的是,当前社会和教育系统对创新性思考的重视程度足够吗?
说到这里,读者应该明白了,为什么麻省理工学院媒体实验室负责开发Scratch的团队叫作“终身幼儿园团队”。亲爱的读者朋友,欢迎你跟随我们一起在学习编写本书中的精彩、有趣的游戏的过程中,发展自己的创新思维和协作精神,进而获得成功和成就感!
美国著名教育家约翰·杜威曾说过:“大多数的人,只知道对五官接触的、能够实用的东西才有趣味,书本上的内容是没有趣味的。”本书的目的是通过生动有趣的游戏案例,让读者在阅读和学习过程中体会到“书本上的趣味”,进而通过自己动手编写趣味游戏,感受更广泛的书本之外的趣味。
本书通过详细介绍使用Scratch 3.0开发15款精彩的趣味游戏的过程,帮助读者掌握程序设计的基本思维和方法,以及Scratch 3.0编程的基本技能。本书不是Scratch 3.0入门读物,不会详细介绍Scratch 3.0编程基础知识。但是,本书贯彻“只要用到,一定讲到;只有用到,才会讲到”的原则,在介绍游戏编写的过程中,结合游戏自身的需要,穿插介绍一些基本的概念、技巧和方法。其目的是确保读者对于游戏开发过程,看得懂,学得会,编得出。
本书一共8章,各章主要内容如下。
第1章带领读者认识Scratch 3.0及其网站,了解如何使用Scratch 3.0,认识Scratch 3.0的项目编辑器和各种类型的积木,并且动手编写第一个简单的小程序。
第2章详细介绍4款入门游戏的编写过程。它们是“会跳舞的螃蟹”“弹球”“月球躲猫猫”“生日贺卡”。入门游戏是本书新增加的一个层级,比初级游戏更加简单。结合这4款入门游戏,我们还穿插介绍造型的概念和造型切换、角色造型和背景的绘图操作、声音在游戏中的作用、背景切换、碰撞检测、变量的概念和用法等知识点。这些知识点可以为读者更好地学习后面各个层级的游戏开发做好准备和过渡。
第3章详细讲解“养花”“小熊和白马赛跑”“接苹果”“指尖陀螺”这4款初级游戏的编写过程。
第4章介绍“神奇的魔法”“吃豆人”这两款中级游戏的编写过程。其中,在介绍“神奇的魔法”游戏编写的过程中,结合游戏的需要,讲解“录制声音素材”和“添加扩展积木类型”的技巧和方法。在介绍“吃豆人”游戏的编写过程中,结合游戏的需要,讲解“创建列表和导入列表的值”“什么是函数?如何创建自制积木?”的知识点和技巧。
第5章介绍“抗击新冠病毒”“潜水艇大挑战”两款中级游戏的编写过程。
第6章介绍高级游戏“保卫城池”的编写过程。
第7章介绍了高级游戏“扫雷”的编写过程。“扫雷”游戏的逻辑算法相对复杂,但其难点和关键点在于行、列、方块编号的计算,以及它们和坐标位置的关系,需要读者仔细体会才能掌握。这一章还简单介绍“递归”的概念。
第8章介绍高级游戏“超级马里奥”的编写过程。这款游戏涉及的角色和代码较多,其关键点在于动态游戏角色的移动方式和造型变换,以及动态角色和静态角色之间的水平相对距离和垂直相对距离的计算和判断。
在编写本书的过程,笔者注意坚持和体现以下几个特色。
“做中学”的方法和理念。学习任何具有实践价值的知识和技能,最好的方式就是“做中学”。也就是说,我们要通过编写实际的游戏和案例,才能更好地熟悉和掌握Scratch 3.0编程。
游戏选取注意代表性,更加细致地划分难度层次。本书选取的15款游戏,根据编写的难度,分为入门游戏(4款)、初级游戏(4款)、中级游戏(4款)和高级游戏(3款)4个不同的层级。层级划分更细致,意味着不同层级游戏的类型、代码量、相关知识点和编写技巧等方面的差异会更加细微,同时,作者采用不同的讲解方式和细节处理方式,难度也会更大。但这种细致的层级划分,将会使读者能够循序渐进地阅读和学习,应该说,这是一种积极的、有益的尝试。
选取的游戏强调趣味性、可玩性,范围广。所选的15款游戏,既包括“弹球”这样的简单且普及性强的游戏,也包括“养花”“生日贺卡”“指尖陀螺”这种更贴近青少年生活的游戏;既包括“扫雷”“超级马里奥”这样的经典游戏,也包括“抗击新冠病毒”这样具有时效性和知识性的游戏,力求向小读者传递正能量,帮助他们培养好习惯;甚至还包括“潜水艇大挑战”这样的“网红游戏”。
注重在讲解过程中体现趣味性。在每款游戏的开头和结尾,以“爸爸”和“涨涨”对话的形式,更好地引入游戏的主题或切换出紧张的游戏编写场景和学习过程,以期能够带给读者更好的阅读体验,减少阅读和学习的疲劳感。
使用“小贴士”和特殊的板块,详细讲解编程过程中用到的知识和技巧,突出强调需要读者特别注意的地方,或者是解释程序设计中的重点和难点。
本书适合以下几类读者参考阅读。
中小学信息技术课教师或培训老师,可以使用本书作为教材,教授Scratch 3.0编程基础课程。
想要让孩子学习Scratch 3.0的家长,可以使用本书作为亲子读物,一边自己阅读,一边教孩子掌握Scratch 3.0编程。
小学生或初中学生,也可以自行阅读和学习本书,遇到有难度的地方,可以向家长或老师请教。
读者一定会问的一个问题是,这本书和我之前的两本Scratch 3.0编程图书有什么区别。在这里,我们特意给出较为详细的比较和说明,并给出建议的学习和阅读路线。
《Scratch 3.0少儿编程趣味课》 注重基础知识的介绍和铺垫,按照Scratch 3.0积木的类别模块详细介绍,辅以由浅入深的示例,最后才是两个完整的大游戏案例。这本书更加适合入门级的读者,也适合小朋友自学。根据我得到的一些反馈,不需要家长和老师的任何辅助,小朋友也能够学习和掌握这本书的基本内容。
《Scratch 3.0少儿游戏趣味编程》和本书一样,都是通过详细介绍15款不同层级、由易到难的趣味游戏的开发过程,帮助读者学习Scratch 3.0编程技能,以及程序设计的理念和方法。两本书在如下几个方面存在一些细微的差别。
游戏选取和游戏层级划分不同。虽然两本书都选取了15款游戏,但由于篇幅限制,挑选游戏的时机差异,所选游戏各有特色,存在差异。此外,在游戏的层次划分方面,本书基于《Scratch 3.0少儿游戏趣味编程》所确定的初级游戏、中级游戏和高级游戏这3个层级,加入了一个入门游戏,以降低难度,更加方便初学者阅读和学习。
对基础知识的取舍不同。《Scratch 3.0少儿游戏趣味编程》前两章介绍了Scratch 3.0的基础知识和游戏编程用到的一些概念。本书没有介绍这些内容,第1章只是简短地帮助读者认识Scratch 3.0及其基本工作界面,然后由入门游戏来完成轻松而快速的衔接过程。
讲解方式和逻辑存在细微不同。受到篇幅和写作经验的限制,《Scratch 3.0少儿游戏趣味编程》在讲解游戏开发过程时,相对比较简略和直接,好在我和出版社录制了详细的讲解视频,一定程度上可以弥补文字讲解的遗憾。本书在内容讲解上更加细致,更加注重逻辑性,而且引入了父子对话的环节,增加了阅读的趣味性,减少了学习的枯燥感。本书延续《Scratch 3.0少儿游戏趣味编程》的特点,继续使用小贴士、特殊板块来强调一些需要读者特别留意之处。
我给读者建议的阅读和学习路线是,先学习《Scratch 3.0少儿编程趣味课》打好基础,然后通过本书来进阶到不同层级的开发,再学习和阅读《Scratch 3.0少儿游戏趣味编程》。按照这个过程,阅读、学习和编程循序渐进,相信读者的感觉也会比较轻松。注意,在阅读《Scratch 3.0少儿编程趣味课》的时候,可以先跳过这本书的最后两课,等有了一定的编程经验后,再返回去学习那两个游戏的完整开发过程。
这3本书的详细对比,参见下表。
对比项 |
《Scratch 3.0少儿编程趣味课》 |
《Scratch 3.0少儿游戏趣味编程》 |
《Scratch 3.0少儿游戏趣味编程2》 |
---|---|---|---|
Scratch版本 |
Scratch 3.0 |
Scratch 3.0 |
Scratch 3.0 |
基础知识讲解 |
较多且讲解详细 |
两章,相对较少 |
1章,很少 |
案例和游戏数量 |
40多个小案例,两个完整大游戏 |
15款游戏 |
15款游戏 |
游戏层级 |
不分层级 |
分为初级、中级、高级3个层级 |
分为入门、初级、中级、高级4个层级 |
案例趣味性和可玩性 |
较强 |
很强 |
很强 |
配套代码和素材 |
有 |
有 |
有 |
案例演示视频 |
有 |
有 |
有 |
配套视频讲解 |
提供在线观看 |
提供在线观看 |
提供在线观看 |
拟人化和对话式讲解 |
少量 |
没有 |
较多 |
阅读和学习难度 |
容易 |
中等到较难 |
中等 |
为培训机构和学校教师提供PPT |
提供 |
提供 |
提供 |
阅读和学习顺序 |
入门 (建议先跳过第24课和第25课) |
提高 |
提高和进阶 |
本书的示例程序和游戏等配套资源的服务由异步社区提供支持。请读者通过www.epubit.com下载本书的示例程序,然后,使用Scratch 3.0在线版、Scratch Desktop或Scratch 2.0离线版本,通过在“文件”菜单下点击“从电脑中上传”的方式导入程序。
当书中提到背景、角色、声音等文件,需要“从配套素材中导入”的时候,读者需要选择“上传”菜单,找到配套素材文件所在的文件夹将其导入,才能继续后续的操作。当书中提到“从背景库导入”/“从角色库导入”/“从声音库导入”的时候,这就意味着,所用到的背景、角色或声音等是Scratch 3.0自带的素材,直接从相应的库中选择导入就可以了。
在异步社区的本书页面中,点击“观看在线课程”按钮,回答和本书内容相关的问题,即可在“在线课程”栏中,观看本书配套视频。
李强,计算机图书作家,曾经是赛迪网校计算机领域的金牌讲师,从2002年开始了计算机的网络授课。目前专注于青少年计算机领域的教学,先后编著了《Scratch 3.0 少儿游戏趣味编程》《Scratch 3.0少儿编程趣味课》《Python少儿趣味编程》等畅销书,配套的教学视频也得到了读者的喜爱。曾荣获人民邮电出版社“2019年最具影响力作者”称号。可关注公众号“李强老师的编程课堂”联系作者,以获得更多支持和帮助。
李若瑜,小学五年级学生,电玩狂热爱好者。他为书中的游戏贡献了很好的创意和素材。李若瑜同学还主动承担了测试工作,所有示例游戏都经过了他“苛刻”的试玩。他也是书稿的第一读者。
正如前面所提到的,本书的写作离不开《Scratch 3.0少儿游戏趣味编程》和《Scratch 3.0少儿编程趣味课》的成功。感谢这两本书的读者和我的公众号“李强老师的编程课堂”的订阅者,他们不断地提出了非常宝贵的反馈意见和新的学习需求,为我持续研究Scratch 3.0编程教育主题和继续写作提供信心和原动力。
写一本书是一件很不容易的事情。本书从下定决心到素材收集,从搭建大纲到具体动笔,整个过程耗时较长,漫长而煎熬。感谢家人的支持和鼓励,以及对我生活无微不至的照顾。感谢李若瑜在本书构思和写作过程中提供的有力帮助。顺便剧透一下,他就是这本书中提到的“涨涨”。
感谢人民邮电出版社的陈冀康编辑,本书是在他的激励和督促下完成的。感谢人民邮电出版社信息技术分社的刘涛社长,以及刘鑫、卢金路等,他们对我的写作提供了很多关心和帮助,及时把有效的市场信息和读者意见反馈给我,帮助我不断反思、改进和提高。感谢人民邮电出版社的尚丽洁,她在图书配套视频课程的策划、录制和拍摄中,给予了无私的帮助。我编写的图书能够得到读者的欢迎和喜爱,离不开出版社同仁大量的幕后支撑工作。
感谢本书的所有读者。选择了这本书,意味着您对作者的支持和信任,也令作者如履薄冰。由于作者水平和能力有限,书中一定存在很多不足之处,还望您在阅读过程中不吝指出。可以通过reejohn@sohu.com联系作者。
本书由异步社区出品,社区(https://www.epubit.com/)为您提供相关资源和后续服务。
本书提供如下资源:
游戏离线版源代码;
游戏配套素材;
书中彩图文件;
配套视频在线观看。
要获得以上配套资源,请在异步社区本书页面中点击,跳转到下载界面,按提示进行操作即可。注意:为保证购书读者的权益,该操作会给出相关提示,要求输入提取码进行验证。
如果您是教师,希望获得教学配套资源(教学PPT),请在社区本书页面中直接联系本书的责任编辑。
作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎您将发现的问题反馈给我们,帮助我们提升图书的质量。
当您发现错误时,请登录异步社区,按书名搜索,进入本书页面,点击“提交勘误”,输入勘误信息,点击“提交”按钮即可。本书的作者和编辑会对您提交的勘误进行审核,确认并接受后,您将获赠异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。
我们的联系邮箱是contact@epubit.com.cn。
如果您对本书有任何疑问或建议,请您发邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。
如果您有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们;有意出版图书的作者也可以到异步社区在线投稿(直接访问www.epubit.com/selfpublish/submission即可)。
如果您来自学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。
如果您在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请您将怀疑有侵权行为的链接发邮件给我们。您的这一举动是对作者权益的保护,也是我们持续为您提供有价值的内容的动力之源。
“异步社区”是人民邮电出版社旗下IT专业图书社区,致力于出版精品IT技术图书和相关学习产品,为作译者提供优质出版服务。异步社区创办于2015年8月,提供大量精品IT技术图书和电子书,以及高品质技术文章和视频课程。更多详情请访问异步社区官网https://www.epubit.com。
“异步图书”是由异步社区编辑团队策划出版的精品IT专业图书的品牌,依托于人民邮电出版社近30年的计算机图书出版积累和专业编辑团队,相关图书在封面上印有异步图书的LOGO。异步图书的出版领域包括软件开发、大数据、AI、测试、前端、网络技术等。
异步社区
微信服务号
Scratch 由麻省理工学院的媒体实验室“终生幼儿园”团队设计并制作,是专门为青少年开发的一种可视化编程语言。编写Scratch代码,实际上就是将多个积木(也叫作代码块或模块)组合在一起,实现想要达成的目标。
Scratch这种简单、可视化的编程方式,使得编程过程中融入了更多的趣味性和创造性,因而很容易受到少儿和青少年的喜爱,进而激发他们编写程序的欲望。在美国,随着STEAMA[1]教育理念的提出,Scratch也受到越来越多的学校和教育机构的青睐,他们纷纷开设Scratch课程。在中国,北京、上海、南京等地的一些中小学和校外培训机构,也纷纷开展Scratch编程兴趣课程和培训。孩子们通过玩游戏、编程、编写游戏等方法来学习计算机编程的一些基本思维方式。这促使Scratch成为一种逐渐流行起来的语言和工具。
在本书中,我们将按照从易到难的步骤,学习使用Scratch 3.0开发15款趣味游戏。“万丈高楼平地起”,在开始学习编写游戏之前,让我们先一起来认识一下Scratch 3.0吧!
要学习和使用Scratch 3.0,我们要做的第一件事情是访问Scratch的官方网站。打开网站后的页面如下图所示。
在页面顶端有一行菜单。如果点击“创建”按钮,则会打开Scratch 3.0的在线编辑器,我们就可以开始创作自己的项目、进行编程等等。注意,点击页面中部的“开始创作”按钮,也会起到同样的效果。如果点击页面顶端的“发现”按钮,则会开始浏览Scratch网站上保存的项目。点击“创意”按钮则会打开一系列由Scratch网站提供的教程,可以帮助初学者快速了解和掌握Scratch。点击“关于”按钮,会打开关于Scratch软件的介绍,有分别针对家长和教师等不同人群的说明。点击右方的“加入Scratch社区”按钮(或者点击页面中央的“加入”按钮),可以创建账号或者使用已有的账号登录到Scratch社区。最右方的“登录”按钮,用来直接通过已有的用户账号登录。
我们先通过“创建”菜单或者页面上的“开始创作”按钮,进入Scratch 3.0编辑器吧。编辑器页面的正中央,是一个简短的52秒的视频教程,说明了用Scratch能够做什么,简单介绍了如何使用它,如下图所示。
你可以点击播放,观看这个视频。看完这个视频,可以点击右边的按钮,继续观看下一个相关的视频,或者点击上面的“关闭”按钮以关闭视频,直接开始动手尝试。
注意编辑器左上方的菜单项中,有一个菜单,点击其右边的小三角,可以打开一个语言菜单项,从中可以选择编辑器界面所采用的语言,如右图所示。一共有近50种语言可供选择,可见Scratch 3.0在全世界有多么流行!当你第一次访问Scratch 3.0在线版的时候,记住,首先通过这个语言菜单选择“简体中文”。
Scratch 3.0支持在线和离线两种编程方式。在线方式不需要单独安装软件,直接进入Scratch的官方网站(见下图),输入用户名和密码,登录后即可使用。但是,要以在线方式使用Scratch 3.0,我们需要注册一个Scratch登录账户。点击首页右上角的“加入Scratch社区”按钮(或者点击页面中央的“加入”按钮)。注意,也可以先点击“创建”按钮,打开Scratch 3.0编辑器,然后点击编辑器右上角的“加入Scratch”按钮进行注册。
打开“加入Scratch”的界面之后,只要按照提示填写相关的信息,大概需要四五个步骤,你就可以完成注册并拥有一个Scratch账户了。
Scratch也支持离线方式,也就是在没有连接互联网的时候,同样可以使用Scratch来编写程序。不过对于离线方式,需要先下载和安装相应的软件后,才可以使用。鉴于目前访问Scratch网站的时候,常常会因为网络带宽的限制而影响到访问的流畅性,我们强烈推荐读者下载并安装Scratch的离线版,这样一来,日常的学习和使用会非常方便。
打开Scratch的官网,在页面底端的“支持”类别中选择“下载”,如下图所示。
Scratch 3.0离线编辑器支持众多的操作系统,包括Windows、macOS、ChromeOS和Android。我们将以Windows系统为例,介绍安装步骤,先在下图的“选择操作系统”处点击Windows图标。
在这个页面的下方,详细说明了下载安装的步骤,下载和安装过程变得非常简单!
点击“直接下载”按钮,就可以开始下载,在编写本书的时候,下载后得到的文件是Scratch Desktop Setup 3.10.2。A[2]只需要双击该文件,就可以开始安装Scratch 3.0离线版。
安装完之后,桌面上会出现一个图标。只要点击该图标,就可以打开Scratch 3.0离线版编辑器,如下图所示。注意,Scratch 3.0离线版改变了名称,叫作“Scratch Desktop”(Scratch桌面版),它使用的是全新的Scratch 3.0的功能界面。
现在,我们完成了离线版本的安装,即使没有连上互联网,同样也可以编写Scratch程序了。
既然已经安装好了Scratch 3.0,我们需要认识和熟悉一下它的工作界面,也就是Scratch 3.0的核心工具——项目编辑器。
不管是在线使用还是离线使用Scratch,项目编辑器都是我们必不可少的工作平台和操作界面。让我们先来认识和熟悉一下它吧!
使用刚刚注册的账户登录Scratch网站。点击页面上方的“创建”按钮。系统会自动创建一个新的项目。Scratch 3.0的项目编辑器分为5个区域,分别是菜单栏、操控区、代码区、舞台区和角色列表区,如下图所示。
顶部是菜单栏,包括“语言”“文件”“编辑”“教程”“加入Scratch”和“登录”等菜单和功能选项。最左边的一列是操控区(也就是项目编辑区),由3个标签页组成,分别用来为角色添加代码、造型和声音,也可以设置和操作舞台背景;对代码、角色、背景、声音等的主要操控都是在这里完成的。中间比较大的空白区域是代码区(也可以叫作脚本区),可以用来针对背景、角色编写积木代码,操控区的9大类、140多个积木都可以拖放到代码区进行编程。右上方为舞台区,这里呈现程序的执行效果。右下方是角色列表区,这里会列出所用到的角色缩略图以及舞台背景缩略图。
界面右上方是舞台区,该区域会显示程序执行的结果。舞台区左上方的绿色旗帜按钮是程序启动按钮,点击它开始执行程序;左上方红色按钮
是停止按钮,点击它停止程序运行。该区域的右上角是全屏按钮
,点击它,舞台会扩展为全屏。在全屏模式下,舞台区的右上角会出现
按钮,点击它可以退出全屏模式。
在编辑器默认的布局中,舞台区占有较大的面积。点击舞台区的右上方的按钮,可以使用缩略布局样式,改变舞台区和角色列表区的布局,从而使得代码区占据更大的操作空间,以便于编程,如下图所示。
在缩略布局样式下,点击舞台区右上方的按钮,编辑器将返回默认的布局样式。用户可以根据自己的具体需求,使用这两个按钮,对编辑器的布局进行调整。
界面右下方是角色列表区,包含角色和舞台背景两部分内容,有默认布局和缩略布局两种布局样式,如下图所示。左边是角色列表区,显示了程序中的不同角色;右边是舞台背景列表区,显示了程序中使用的舞台背景的信息。最上边是信息区,当选中角色或者舞台背景的时候,信息区会显示所选中的角色或舞台背景的名称、坐标、显示或隐藏、大小、方向等信息。
默认布局 缩略布局
这个区域有两个非常醒目的动态弹出式按钮,分别是角色按钮和背景按钮
。
直接点击角色按钮,可以从角色库中选择需要的角色。如果只是把鼠标光标放在该按钮上,则会弹出4个新的菜单式的角色按钮,分别代表4种不同的新增角色的方式,如表1-1所示。
表1-1 角色按钮的弹出菜单
按钮 |
功能 |
---|---|
|
点击该按钮,可以将素材从本地作为角色导入到项目中 |
|
点击该按钮,将会随机导入一个角色。当你创意枯竭的时候,不妨通过点击这个按钮获得一点启发 |
|
点击该按钮,将会在操控区的“造型”标签页下,打开内置的绘画编辑器,自行绘制角色造型 |
|
点击该按钮,和直接点击 |
直接点击背景按钮,可以从背景库中选择需要的背景。如果只是把鼠标光标放在该按钮上,则会弹出4个新的菜单式的背景按钮,分别代表4种不同的新增背景的方式,如表1-2所示。
表1-2 背景按钮的弹出菜单
按钮 |
功能 |
---|---|
|
点击该按钮,可以将素材从本地作为背景导入到项目中 |
|
点击该按钮,将会随机导入一个背景。当你创意枯竭的时候,不妨通过点击这个按钮获得一点启发 |
|
点击该按钮,将会在操控区的“背景”标签页下,打开内置的绘画编辑器,自行绘制背景 |
|
点击该按钮,和直接点击 |
编辑器的最左边的区域是操控区(也可以叫作指令区或项目编辑区),如右图所示。操控区的“代码”标签页中,提供了“运动”“外观”“声音”“事件”“控制”“侦测”“运算”“变量”“自制积木”和“扩展积木”10大类、140多个积木供我们使用。这些不同类型的积木,使用了不同的颜色表示。我们可以拖放这些积木到代码区,组合成各种形式,从而完成想要实现的程序。
在“代码”标签页中,可以将操控区中的积木拖放到代码区,为角色指定要执行的动作,如下图所示。
在“造型”标签页,可以定义该角色所有会出现的造型,如下图所示。
在“声音”标签页,我们可以采用声音库中的文件、录制新的声音或导入已有声音,来为角色添加声音效果,如下图所示。
编辑器的中间部分是代码区,我们就是在这里对积木进行各种组合,使用和操控角色的造型、舞台背景以及声音等。
代码区的界面如上图所示。代码区的右上角,显示出了当前角色的缩略图,这可以让用户一目了然当前是在对哪个角色编程。代码区的右下角竖排的3个按钮,分别可以放大代码视图、缩小代码视图和居中对齐代码。注意,当代码较多,超出了代码区的范围的时候,可以拖动下方和右方的滚动条来查看更广的工作区域内的代码。当我们在代码区工作的时候,可以根据自己的需要,灵活布局和滚动查看代码。
在代码区的任意空白区域点击鼠标右键,会弹出一个菜单,可以对积木进行“撤销”“重做”“整理积木”“添加注释”“删除积木”等一系列操作,如上图所示。
接下来,我们来认识一下Scratch 3.0内置的绘画编辑器。
点击Scratch 3.0项目编辑器左上角的“造型”标签页,就会打开绘画编辑器,在这里可以手工绘制新的角色。
下图中,右边就是Scratch 3.0内置的绘画编辑器,它提供了绘制和修改图像以用做角色和背景的所有功能。绘画编辑器有两种运行模式:位图模式和矢量图模式。默认情况下,绘画编辑器处于矢量图模式,我们可以点击左下角的按钮在这两种模式之间切换。
矢量图与分辨率无关,可以将它缩放到任意大小和以任意分辨率在输出设备上打印出来,并且不会影响清晰度。
位图编辑器如下图所示。位图与分辨率有关,即在一定面积的图像上包含固定数量的像素。因此,如果在屏幕上以较大的倍数放大显示图像,或以过低的分辨率打印,位图图像就会出现锯齿边缘。
了解了Scratch 的网站、Scratch 3.0的下载和安装,熟悉了项目编辑器,接下来我们要认识一下Scratch 3.0编程了。一听到编程,很多读者首先就会想到要坐在计算机屏幕前,飞速地敲击键盘输入一系列的代码,这可不是一般人能够轻松学会的技能啊! 那么,怎么用Scratch 3.0编程呢?需要用键盘敲代码吗?难度大吗?我们能学得会吗?
我们前面提到了,编写Scratch 3.0代码,实际上就是将多个积木(也叫作模块)组合在一起,实现想要达成的目标。一句话概括,Scratch 3.0编程并不需要敲代码,它就像是搭积木!只要你玩过积木,就一定能轻松学会Scratch 3.0编程。下面我们先来体验一下Scratch 3.0编程的实际场景和编程方式,帮助大家解决一系列的疑惑!
如果你玩过积木,一定已经对积木及其玩法有了一些认识。首先,积木是模块化的。无论搭建的最终成果有多大,它都是由一个又一个的积木块拼接组合起来的。其次,积木块有不同的类型和形状,不同类型和形状的积木块,有不同的用途和搭建方法。最后,搭积木的时候,积木块按照一定的规则和方式组合在一起,搭建的成品才能够稳定牢固。
Scratch 3.0编程和搭积木的思路几乎是相同的,并不需要你输入代码,所有的编程工作就像搭积木一样,这种编程思想也称为可视化或模块化。Scratch 3.0程序是由一个个叫作积木的子模块按照一定的规则组合在一起而形成的,如下图所示。
Scratch 3.0中包含的140多个积木,按照其功能划分为10大类(如右图所示),分别是“运动”“外观”“声音”“事件”“控制”“侦测”“运算”“变量”“自制积木”和“扩展”(包括音乐、画笔、视频、文本翻译以及几大类和不同的硬件协同工作的积木)。不同的积木,以不同的颜色加以区分,一目了然。
如果按照外形特征和使用方法来划分,这140多个积木可以划分为6大类:
接下来,我们逐一介绍这几类积木,并且在此过程中顺便了解一下这些积木的组合规则。
栈积木是最主要的积木类型,Scratch 3.0中的大多数积木都是栈积木。栈积木这个名字可能不太好理解,我们可以打一个比方。栈积木是顶部有一个凹口而底部有一个凸起的积木,就像是一个盘子一样。如下图所示,凹口和凸底充当了可见的标志,表明了栈积木如何组合到一起来创建程序逻辑。
顶部的凹口表示这个积木可以附加到另一个积木之下,就好像是这个盘子可以放到其他盘子之下一样。这个积木的底部的凸底又允许其附加到其他积木之上,就像是一个盘子可以放到其他盘子之上。彼此叠加的栈积木组成了程序,看上去就像是摞在一起的许多个盘子一样,如下图所示。
一些积木之中包含输入区域,允许通过输入数字来指定一个值。例如,右图所示的栈积木允许通过输入一个步数值(这里是10),来指定移动的步数。要修改这个积木中的值,在积木的白色椭圆形区域中点击,并且输入一个新的值就可以了。
一些积木还允许从下拉列表中选定一个值来配置它们,如右图所示。
启动积木是顶部有一个圆角或曲线形状,而底部有一个穹形凸顶的积木,如下方的左图所示。这个凸顶表明它可以像盖子一样放到其他栈积木的顶部。前面我们说栈积木就像是盘子,那么启动积木就像是程序的盖子如下方右图所示,一旦这个盖子打开,下面的盘子中装的好吃的就可以拿出来品尝了!
启动积木提供了创建事件驱动的脚本的能力。事件驱动的脚本是当指定的事件发生的时候自动执行的一个脚本。事件的一个示例是,当用户点击了绿色的旗帜按钮的时候,会自动触发脚本的执行,如右图所示。
当用户点击角色的时候,也能够触发脚本的执行。可以通过在脚本的开始处添加积木,来进行这一设置,如右图所示。
启动积木还可以检测某个按键按下、舞台切换为某个背景、声音达到某个响度、计时器触发等各种事件,从而在这些事件发生的时候启动执行。还有一种特殊的启动积木,就是“当作为克隆体启动”积木,我们可以用它来控制角色的克隆体执行一些操作。
第三种类型的Scratch积木是侦测积木。侦测积木是一个圆角的积木,它专门被设计用来提供输入以供其他的积木处理。右图所示的积木是一个典型的侦测积木,这个积木获取一个数字值来表示角色的音量。
注意,在侦测积木的左边有一个小的空白方框,默认情况下,这个方框是空白的。如果选中了这个方框,该侦测积木所侦测的变量的值就会在舞台上显示出来,如右图所示。
注意,侦测积木的形状都是圆角,因此它们只能够放入右图所示的这种包含一个圆角的空白变量的积木之中。
布尔积木的形状是尖角的六边形,如右图所示。如果用户按下了空格键的话,这个特定的积木将返回一个为真的值,如果没有按下空格键,它返回假。由于布尔积木拥有尖角的形状,它只能够嵌入右图所示的这种包含尖角形的输入区域的一个积木中。
小贴士
布尔是一个术语,用于表示拥有两个值(真或假)之一的数据。在所有的高级语言中,都有这么一类叫作布尔类型的变量,这是用乔治·布尔的名字来命名的。乔治·布尔是19 世纪英国最重要的数学家之一,由于他在符号逻辑运算中的特殊贡献,很多计算机语言中将逻辑运算称为布尔运算,将其结果称为布尔值。
乔治·布尔
要利用布尔积木,需要将布尔积木嵌入另一个积木中,而后者也必须包含一个可以容纳布尔积木的尖角六边形的空白。
C积木的形状就像是字母C,因而称之为C积木。C积木用于循环或判断。C积木中会包含由其他积木块组成的一段程序,只要测试条件为真,就会一次性或者不断循环运行C积木中包含的程序。
Scratch 3.0有5种不同的C积木,而这5种积木都是控制积木。右图给出了C积木的一个例子,该积木重复地执行包含在其中的任何积木,直到测试条件变为假。
结束积木停止脚本的执行。结束积木顶部有一个缺口,而底部是平坦的,这表示一段脚本的结束,如右图所示。如果说启动积木是一个盖子、栈积木是一个盘子,那么结束积木就像是最下面的一个托盘。我们不能将其他的积木放到结束积木的底部,就像是托盘之下不能再放任何的盘子了。
熟悉了Scratch 网站和项目编辑器的各个部分,并且认识了Scratch 3.0的6大类型的积木,你是不是已经迫不及待地想要动手操作一番了?接下来,我们就用Scratch 3.0来编写一个简单的程序,让我们的主角——小猫动起来,并且能发出“喵喵”的声音。
首先,从Scratch 网站左上方的菜单中点击“创建”按钮或者点击页面中间的“开始创作”按钮,打开项目编辑器。会看到舞台上有一个默认的小猫角色。
第1步
从“代码”标签页下的“运动”类积木中,把这个积木拖放到代码区,此时,如果用鼠标点击代码区的这个积木块,会看到舞台上的小猫向前移动10步。
第2步
我们再来看看“声音”类的积木。从“声音”类积木中,拖动积木块,将其放到
下方。此时会注意到,
下方的凸底和
上方的凹口会自动组合到一起,形成一个积木块组合。此时,如果点击代码区的这个积木块组合,舞台上的小猫会移动10步并发出“喵”的声音。
第3步
那么,我们应该在什么时候开始执行这个积木组合,让小猫动起来并叫出声呢?这就需要在这个积木块组合的上方放置一个“事件”类积木来启动积木块。从“事件”类积木中,把拖动到代码区中,放到之前的组合积木块的上方。完成后的代码如右图所示。
此时,如果我们点击舞台区左上方的按钮,这段代码就会开始运行,小猫就会动起来并发出叫声。在程序运行过程中,任何时候,当我们点击舞台区左上方的
按钮的时候,程序就会停止运行并退出。
编写完程序,如何保存自己的项目呢?这就要用到项目编辑器的菜单栏了。
在Scratch 3.0中,点击菜单栏上的“文件”菜单,从中选择“保存到电脑”,当前工作的项目就会默认以“Scratch作品.sb3”为名,保存到你的计算机的“下载”文件夹中,如右图所示。“.sb3”是所有Scratch 3.0程序文件的默认后缀名。
在这里,我们先把1.5.1小节中编写的小猫程序保存下来。点击菜单栏上的“文件”菜单,从中选择“保存到电脑”。我们知道,程序员学编程的时候,经常把自己编写的第一个程序命名为“HelloWorld”,那么接下来,我们就将这个小猫程序命名为“HelloKitty.sb3”吧!
如果你用自己注册过的用户名登录到Scratch网站,文件操作会更加简单。在“文件”菜单下,直接选择“立即保存”,项目就会自动保存到项目中心,如右图所示。点击你的用户名菜单下的“我的项目中心”,或者直接点击菜单栏上的按钮,就可以看到保存的副本。
我们已经知道了如何把程序保存到本地计算机。那么,当我们需要再次使用编写过的程序,或者要修改它的时候,该怎么把它导入Scratch 3.0的项目编辑器中呢?
点击菜单栏上的“文件”菜单,从中选择“从电脑中上传”,将会出现一个“打开”窗口,我们从资源管理器中找到“HelloKitty.sb3”文件所在的位置并选中该文件,然后点击窗口中的“打开”按钮,就可以把程序导入Scratch 3.0的项目编辑器中了,如下图所示。
对于其他的程序来说,导入Scratch 3.0的项目编辑器中的步骤和过程都是一样的。例如,我们可以通过出版社的网站下载本书的所有配套示例和游戏的离线代码,然后在Scratch 3.0的项目编辑器中点击菜单栏上的“文件”菜单,从中选择“从电脑中上传”就可以了。
好了,在本章中,我们已经完成了Scratch 3.0的初体验,不仅了解了Scratch 3.0和它的项目编辑器,认识了Scratch 3.0的各种类型的积木,还动手编写、保存、导入了第一个小程序。这样就为我们学习编写本书后面介绍的各个趣味游戏打下了一个很好的基础。
你一定已经迫不及待了,让我们再次开始一场充满趣味的Scratch 3.0游戏编程探险之旅吧!
[1] STEAM是科学(Science)、技术(Technology)、工程(Engineering)、艺术(Art)和数学(Mathematics)的缩写。STEAM是一种重实践的超学科教育理念,强调任何事情的成功都不仅仅依靠某一种能力,而是需要综合应用多种能力。STEAM理念旨在培养人的综合才能。
[2] 虽然桌面版的小版本号是3.10.2,但大版本号仍然是3.x,其功能上并没有太大的改变。