少儿编程Scratch3.0教程——扩展篇(文字朗读和翻译)(文字版)
在之前的扩展篇教程中,你已经学会了如何使用Scratch演奏音乐和绘画,这节课我将带你学习使用另外两个扩展模块,文字朗读和翻译,我们一起来利用它们制作一个翻译机器人。
这篇文章主要分为3个部分:
1、使用文字朗读
2、使用翻译
3、制作翻译机器人
第一,使用文字朗读
文字朗读扩展模块,利用了亚马逊的Web服务功能,可以让你通过Scratch朗读你设定的文字内容,并且可以设置不同的朗读声音和不同国家的文字。
和之前的两节课一样,在使用之前,需要先在Scratch的扩展模块中将它选中。需要注意的是,这两个扩展模块都需要用到网络连接才能正常使用。
你可以看见,文字朗读总共只有3个积木块,分别是朗读...积木,使用...嗓音积木和将朗读语言设为...积木。
首先,你需要使用将朗读语言设为...积木,选择你需要朗读的文字类型,其中有中文、英文、日文等等,总共23种世界不同的文字类型。
接着,你可以通过使用...嗓音积木,选择一种朗读的声音类型,默认是中音,另外还有男高音、尖细、巨人、小猫这4种声音类型。
最后,你只需要在朗读...积木中填入需要朗读的文字,点击该积木块,Scratch就会将文字朗读出来。需要注意的是,你在此填入的文字类型需要与将朗读语言设为...积木中选中的文字类型保持一致,否则可能会点击以后,没有任何声音。
以上就是朗读扩展模块的用法,如果说你需要朗读的文字很长,可以将它们全部填入输入框中,还可以将文字分段存入列表方便管理,再利用循环积木来朗读它们。
第二,使用翻译
翻译扩展模块,利用了谷歌翻译功能,可以让你通过Scratch将一种文字翻译成另外一种文字。
你可以看见,翻译总共只有2个积木块,分别是将...译为...积木和访客语言积木。
访客语言积木可以返回你当前使用的Scratch客户端所选择的文字类型,例如我现在客户端设置的是简体中文,因此它会返回“中文(简体)”。
如果你想要将客户端文字类型换成英文,只需要点击Scratch左上角的地球标志,选择English,这时Scratch中的文字就将全部变为英文。
这时你再点击访客语言积木,返回值也将变成English。
将...译为...积木可以将你想翻译的文字转换为你所需要的语言。你只用在输入框中填入需要翻译的文字,再选择需要转换的语言类型,点击积木块,就会返回翻译之后的文字。
例如,我可以将中文的“你好”翻译为英文的“Hello”,或者将日文的“こんにちは”翻译为简体中文的“你好”。
你在使用时可能会发现,它只能翻译几种语言的“你好”,这是因为在翻译时,Scratch需要去调用Scratch官网和谷歌翻译的服务,由于不可抗拒的原因,国内不能正常访问它们,所以这个模块也就不能正常使用。
如果在未来你学习了前端开发,可以自己重新制作一个翻译扩展模块,调用国内翻译厂商的服务就可以正常使用了。
第三,制作翻译机器人
这两个扩展模块的功能都比较简单,我们接着就利用它们来制作一个翻译机器人,先来看看效果演示。

开始做之前,还是请你先按照之前每个项目练习的步骤,试着自己回答一下那3个问题,再接着往下看。
好了,我假设你已经回答完了,现在我们就一起来分析一下。
1、这个游戏用到了1个背景,太空飞船。
2、这个游戏用到了1个角色,机器人。
3、游戏的步骤
- 机器人通过说话介绍功能
- 机器人询问需要翻译什么中文
- 机器人翻译成功,回答英文,翻译失败,道歉
- 机器人重新询问需要翻译什么中文
接着,我们就开始来实现它。前两部添加背景和角色我就不多说,交给你自己来完成了,我直接来实现游戏步骤。
机器人通过说话介绍功能
如果你仔细观察,你会发现机器人说话时会发出声音,还会通过说话起泡显示说话的内容。因此,你可以利用朗读...积木和说话积木来实现它。这里会有一个问题,说话起泡是在发出声音时出现,声音结束以后就消失,你可以思考一下如何实现它。
这里有个简单的方法,因为说话积木有一个需要设置时间和一个不需要设置时间的,如果使用需要设置时间的说话积木,由于说话的内容不确定,所以无法估计应该将时间设置为多少。所以,我们可以使用不需要设置时间的说话积木显示说话的内容,接着使用朗读...积木朗读内容,朗读完之后将说话起泡隐藏起来就可以了。
由于机器人在之后的步骤中也需要说话,只是说的内容不同,因此可以利用自制积木将它封装起来,其中定义一个内容参数。
机器人询问需要翻译什么中文
这一步很简单,使用上面的自制积木和询问积木就可以了。
机器人翻译成功,回答英文,翻译失败,道歉
这一步需要使用回答积木,获取玩家输入的中文,接着使用将...译为...积木将回答的内容翻译为英文。因为翻译可能成功,可能失败,所以你需要根据翻译积木返回的内容进行判断。当返回的内容为空时,说明翻译失败,向玩家道歉。当返回的内容不为空时,就可以将翻译后的内容通过自制积木说出来。
因为翻译积木去调用服务时可能会花点时间,所以你还可以在这个过程中使用思考气泡显示“翻译中...”,假装机器人正在思考。
机器人重新询问需要翻译什么中文
这一步是不是很简单,机器人回答以后又重新询问玩家,只要使用重复执行积木就可以了。
在这个游戏中,我的机器人只能固定将中文翻译成英文,你可以试着通过询问的方式,让玩家自己选择需要翻译的语言类型。除此之外,通过文字朗读积木,你还可以实现一个简单的对话机器人,这些内容就留给你自己来完成了。
同样的,如果你在学习过程中遇到问题无法解决,你可以扫码关注我的微信公众号“梦世界”给我留言,我会对你的提问一一进行解答。
Talk is cheap. Show me the code...
如果你看完以上内容,对少儿编程感兴趣,有初中以下想学习编程或者数学思维课的小朋友,欢迎联系。如果你有Web应用系统、手机APP、微信小程序等软件开发需求,也欢迎与我联系。期待能与你共同进步。。。
0条留言