第四章第一课scratch3.0消息的广播与接收

youjianschool youjianschool     2022-12-01     731

关键词:

本章主要介绍“分而治之”的编程方式。通常情况下,程序的整体功能并非全部编写在一段脚本中,而是把整体功能划分为多个部分,使用本章介绍的过程实现每个部分的功能,最后将各个过程合并在一起。合理使用过程能让程序更加清晰,更容易测试和调试。
本章的内容如下:
使用消息广播来协调各个角色间的行为
使用广播机制实现过程
学习Scratch3.0中的“自制能块”
学习结构化程序设计


本章之前有不少程序仅包含一个角色,而包含多个角色更常见。例如,动画故事就需要诸多不同的人物和背景。

那么如何才能让众多角色的脚本协调一致地运行呢?

答案是:使用消息广播机制。

在事件指令组中,有一个指令叫当接收到(消息1)。对应地,有两个指令:广播(消息1)、广播(消息1)并等待

技术图片
广播-消息机制就是编程中的全局事件。当一个消息被广播时,所有角色(包含自身)都会接收到该消息。只要一个角色有该消息的接收脚本,即可接收消息并处理。那么,两种广播方式有什么区别呢?

广播(消息1):向所有角色(包括自已)发送一个消息。发送完后,会立即继续向下执行代码。
广播(消息1)并等待:向所有角色(包括自已)发送一个消息。发送完后,会等到所有接收消息的代码执行完成后才继续向下执行。

 

本节课通过运动会前的点名报数来体验广播与消息指令的神奇之处。这里重点体验“广播(消息1)并等待”的功能。

 

利用广播与消息指令,可以实现不同角色之间的交互。然而,广播只带有一个消息名称,是不带参数的。要传参,需要使用自制积木,即过程(专业叫法:函数)。

 

首先准备好运动会“场地”和“运动员”:

技术图片

作为本次运动会的总指挥小猫,组织大家报数,等大家报完数后反馈给大家共有多少动物参加本次比赛。

技术图片

“运动员”们接收到开始报数的指令后,开始报数。

技术图片

完成编码后,执行效果如下。

技术图片

 

第五章第一节scratch3.0数据类型

...息、与用户交互和响应用户的输入。本章涉及如下内容:Scratch3.0支持的数据类型创建并使用变量获取用户输入并与其交互在前4章中,我们已经学习了不少Scratch编程方法,但还是缺少某些关键元素。一个复杂的程序应当能记忆数... 查看详情

图形化编程娱乐于教,kittenblock实例,广播消息

...专题。如果您觉得有用,就给点个赞吧。涉及的软件包括scratch3.0(.sb3)、Python、Kittenblock。程序解读:两个角色对话。知识点:广播消息。涉及的软件:scratch3.0(.sb3)、Python、Kittenblock。程序效果图! ?角色代码:#-*-coding:utf-8-*-i... 查看详情

图形化编程娱乐于教,scratch3.0实例,回答询问

...专题。如果您觉得有用,就给点个赞吧。涉及的软件包括scratch3.0(.sb3)。程序解读:回答帅哥的询问,根据不同的回答内容,显示答案知识点:外观、控制、事件、消息、广播、侦测、询问、回答涉及的软件:scratch3.0(.sb3)角色图... 查看详情

vlan配置第一课-vlan隔离广播域

1。一个交换机两PC.(1)添加交换机跟PC并配置、启动(2)在交换机创建VLAN10\20(3)降接口PC1、2分别放进VLAN10/20,先interfaceG0/1,在创portlink-typeaccess,后portaccessvlan10或202。两交换机同vlan或不同vlan进行ping,在前面步骤下对交换机配inte... 查看详情

android系统广播(broadcast)注册,发送,接收流程解析

...。Android是在进程间通信机制的基础上实现的,内部基于消息发布和订阅的事件驱动模型,广播发送者负责发送消息,广播接收者需要先订阅消息,然后才能收到消息。进程间通信与的区别在于:  有三种类型  ... 查看详情

广播(broadcast)

...技术A广播(Broadcast)是一种广泛用于应用程序之间传递消息的机制,是Android系统的四大组件之一。广播机制包含3个基本要素:广播(Broadcast),用于发送广播;广播接收器(BroadcastReceiver),用于接收广播;意图内容(Intent)... 查看详情

广播接收器——接收系统广播(代码片段)

...后,所有的广播接收器几乎会在同一时刻接受到这条广播消息,没有任何顺序而言。这种广播效率比较高,但是无法被截断。有序广播是一种同步执行的广播,在广播发出后,同一时刻只会有一个广播接收器能够收到这条广播消... 查看详情

发送UDP广播,接收多条消息

】发送UDP广播,接收多条消息【英文标题】:SendingUDPbroadcast,receivingmultiplemessages【发布时间】:2012-06-0515:52:15【问题描述】:我有2个程序,1个用于发送UDP广播消息,1个用于侦听此广播。我的问题是,有时当我发送广播时,接收... 查看详情

kafaka技术第一课(代码片段)

1,课程回顾zk分布式协调框架2,本章重点消息队列的概念消息队列的特点和作用常见的MQ框架有哪些kafka的简介基本术语集群搭建,启动和关闭常用命令3,具体内容3.1消息队列(messagequeue)的概念消息是在... 查看详情

opencv第一课(安装与配置)

OpenCV第一课(安装与配置)win10,opencv-2.4.13,安装,vs2013,配置下载安装软件官网OpenCV下载地址下载最新版本,我下载的是opencv.2.4.13,然后解压安装,我写的路径是D:ProgramFiles。注意本文中绿色标注的要换成你自己的安装路径。这... 查看详情

通过 *** 连接发送/接收广播消息

】通过***连接发送/接收广播消息【英文标题】:sending/receivingbroadcastmessagesover***connections【发布时间】:2012-07-0723:44:22【问题描述】:我正在构建一个可以在有点大的网络上运行的应用程序,所以我将拥有多个子网。网络将通过*... 查看详情

第一课mongodb概述与安装

1.课程大纲本次课主要介绍MongoDB背景知识和MongoDB的安装与配置,让大家对MongoDB有一个初认识。其基本的知识点包含:NoSQL数据库概述MongoDB数据库简单介绍Linux下安装MongoDB数据库Mac和Windows下安装MongoDB数据库2.课程简单介绍MongoDB... 查看详情

广播接收器 gps 打开/关闭消息信息 [重复]

】广播接收器gps打开/关闭消息信息[重复]【英文标题】:BroadCastReceivergpsturnon/offmessageinformation[duplicate]【发布时间】:2016-03-2711:52:15【问题描述】:我创建了一个广播接收器,用于获取在android中打开或关闭gps的信息。使用的代码... 查看详情

rabbitmq第一课rabbitmq基本概念

  初识RabbitMQRabbitMQ是一个开源的消息代理和队列服务器,用来通过普通协议在完全不同的应用之间共享数据,RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于AMQP协议的。 哪些大厂在用RabbitMQ,为什么?1.滴滴、美... 查看详情

广播broadcastreceiver

...完全异步执行的广播,所有广播接收器同一时间接收广播消息。  效率高,但无法被截断。2、有序广播  同步执行的广播,同一时刻只能有一个广播接收器接收广播消息,当执行完毕后才会继续传递。  优先级高的先收... 查看详情

第四次课内容

第四次课讲一个打砖块复习克隆技术,自己生成物体学习角度问题学习坐标多重循环复习跟随鼠标运动复习侦测事件复习随机数广播消息和接收消息变量使用10.设置开始页面和结束页面 查看详情

在 C# 中接收 UDP 广播消息

】在C#中接收UDP广播消息【英文标题】:ReceivingUDPBroadcastmessageinC#【发布时间】:2012-09-1705:06:08【问题描述】:我知道这个问题已经被问过很多次了。我已经阅读了所有答案并尝试了我能找到的每一段代码。几天后,我非常绝望... 查看详情

rabbitmq广播模式(代码片段)

广播模式:1对多,produce发送一则消息多个consumer同时收到。注意:广播是实时的,produce只负责发出去,不会管对端是否收到,若发送的时刻没有对端接收,那消息就没了,因此在广播模式下设置消息持久化是无效的。三种广播... 查看详情