购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第6章
发送消息:程序如何互相通信?

通过逐个排列命令可以做很多事情。开始之后,角色将完全按照你给出的程序进行表演。但是,如果你有几个角色需要交替出现,甚至同时出现,该怎么办?

假设你有一只小猫和一只小狗。程序任务如下。小猫出现在舞台上说:“你好!”然后它等待一秒钟。一秒钟后,它的朋友小狗进入图中,对小猫说:“你好!”然后出现“结束”,程序停止。

这听起来很简单。你觉得可以实现所有内容:角色移动、出现和说话。但是,如果你现在尝试,不久后就会遇到问题。

你如何确保只在小猫叫小狗时,小狗才出现?程序如何显示结尾的标志——“结束”?

小猫可以命令小狗出现和启动代码吗?

不行,这的确行不通。通常,只能显示和移动每个角色。角色的代码始终仅控制所属的角色。

那么如何确保小狗在小猫完成动作后才出现呢?

Scratch中有所谓的“消息”,每个角色都可以“向所有人发送消息”。

什么是消息?

再次想象一下真正的戏剧。当演员活跃在舞台上时,其他演员可能正在幕后等待上场。现在,舞台后面有了扬声器系统。在某个时候,扬声器可能会播放声音:“注意啦,小狗准备登台!”观众无法听到这个消息,因为只有在幕后才能听到,但所有角色都可以听到。其他角色没有反应,但是小狗知道:“这是给我的提示!”当小狗听到此消息时,它走上舞台并说出自己的台词,或者可能消失了、又出现了、开始跳舞、改变颜色——对小狗而言,它听到了什么消息就会做出相应的反应。

该消息也可能是:“所有角色都在大结局前去前面!”然后,也许所有角色都同时做出了反应。或者是:“片尾,所有人停止!”然后所有演员都知道应该停止正在做的事情。

在Scratch中发送消息

在Scratch中,每个角色都可以“向所有人发送消息”。你需要告诉每个角色对哪些消息做出反应,以及下一步该做什么。这样,角色可以相互交流并对发生的事情做出反应。

现在,让我们试一下:你需要一只小狗和一只小猫,大小无关紧要。

1. 将小狗和小猫都放在舞台的最左边。

2. 还有:你需要让小狗角色检查器不可见❶。

3. 现在,给小猫一个简单的代码,用于让小猫上台说:“你好!”然后呼喊小狗,注意,要尽可能简单些。

这就行了。

试试看,小猫从左到右滑到舞台上说:“你好!”两秒钟后,气泡消失,小猫呼喊小狗。两秒钟后,对话气泡也消失了。

到目前为止,一切都很好!现在,小猫完成了,该小狗出现了。现在,消息开始起作用,前面已经提到过,小猫会发出消息,说小狗应该来。小狗应该回应这个消息。 z20EC0L8tTFyI8aL35Hn4y4K8NP7z2pVDIHi8nvYgojR5SFX/waE5oFvtj957lmC

点击中间区域
呼出菜单
上一章
目录
下一章
×