博主资深软件架构师,拥有13年大型软件与互联网系统开发、设计和架构经验,曾就职于华为,现任职于国内知名互联网公司。平时在家教咱家“跳妹儿”编程,并将心得和过程记录下来。希望可以帮助更多对编程感兴趣的家庭。
引言
继前文对各类积木功能的探讨后,我们共同创作了多个程序。本期,我们将深入ScratchJr的奇妙世界,重点探讨程序的触发实现:触发积木。
控制程序积木解析
触发积木即为触发程序开始执行的积木,所以他们是所有程序指令的第一个执行。其在所有积木都为黄色。其中包括:绿旗旗触发、点击触发、碰撞触发、消息触发和发送消息共5个指令。
-
绿旗触发:即点击主界面左上方的绿色旗帜就触发该程序执行。
-
点击触发:即用手指点击该积木就触发程序执行。
-
碰撞触发:即该角色被其他角色碰撞到之后触发程序执行。
-
消息触发:接收到指定消息之后触发程序执行。消息:可以有红色、绿色、黄色等消息,不同颜色对应不同消息。
-
发送消息:该指令其实不算是触发指令。这是发送消息指令,即发送指定的消息,到对应“消息触发”指令接受到该指令(发送消息和接受消息的颜色相同)之后即可触发消息触发指令后续指令执行。即其和上面指令不同的是,它的后面往往没有其他指令,而上述指令往往是其他指令的开头。
我们已在前文中熟悉了绿旗、点击和碰撞触发。其实触发积木中的“绿旗触发”、“点击触发”和“碰撞触发”,我们在前面的程序中都已经学习过了。具体大家可以回顾如下博文。绿旗触发:跳妹儿学编程之ScratchJr(8):外观积木篇—捉迷藏 点击触发:跳妹儿学编程之ScratchJr(9):程序控制积木篇—短跑比赛 碰撞触发:跳妹儿学编程之ScratchJr(7):动作积木篇—爸爸去散步
今日我们将聚焦于消息积木,它如同日常沟通,让程序角色互动生动。在日常生活中,妈妈一句“我们看电视吧”,孩子便会高兴地响应并开启电视。然而,在编程世界里,在这方面它就显得比较笨了。它实现这种互动较为复杂,因为程序无法直接感知。此时,消息积木便派上用场。妈妈“发出指令”后,通过“消息触发”积木,孩子角色便能接收并执行相应操作。
场景设定
在开始编程之前,建议家长朋友们向孩子们生动地描述场景故事,以激发他们的兴趣,然后引导他们共同完成编程任务。也可以让孩子们尝试自己分析并实现场景。
实战场景设定
今天,我们并不打算创建一个新的场景。而是将使用消息积木来优化咱们之前做的“捉迷藏”程序。细心的同学可能已经发现了,在捉迷藏场景中存在一个问题。那就是当小狗找不到小猫认输后,小猫并没有出来。所以我们今天将要把该bug给填补上。今天的场景为:小狗认输后,小猫听到呼喊从远处跑了过来。然后小猫对小狗说“我在这里”。
在计算机科学和软件工程领域,bug指的是程序、系统或产品中的错误、缺陷或问题,它导致软件不能按照预期的方式运行。Bug可能是由于编码错误、设计缺陷、硬件问题或外部因素引起的。
场景编程分解
-
小狗呼唤小猫:小狗对小猫呼喊
-
小猫跑过来:小猫从远处跑过来,不断变大。
-
我在这里:小猫跑过来后说“我在这里”。
编程实践
小狗呼唤小猫
在小狗说话后的积木后面新增发送消息积木(使用蓝色),用于模拟小狗呼喊小猫。
小猫跑过来
在小猫的程序区域拖入消息触发积木(模拟小猫听到呼唤,注意这里的消息为蓝色),并拖入变为显示积木、原始大小和移动积木(模拟小猫跑过来)。PS:大家可以思考下为什么发送和接受消息使用的消息颜色要一样。
我在这里
在小猫跑过来后程序后追加说话积木,模拟说话即可。
程序展示
现在,整个程序设计完成了。点击界面右上角的小绿旗按钮,开始执行程序。如果角色不在初始位置,记得先点击“重设角色”按钮重置角色位置。让我们一起欣赏这个编程成果吧!
惯例
如果你喜欢本文要记得点赞、关注+收藏哦!
如果你想获得更多儿童学习资料和育儿经验,欢迎关注V“跳小闹成长记”,让我们和宝贝们一起轻松学习,快乐生活!关注后可获取30G+免费学习资料,更多福利等你来发现,快来加入我们吧!
粉丝福利:
回复“儿童编程”可获得Scratch儿童编程免费教程。
回复“scratch”可获得ScratchJr安卓手机安装包。