当前位置: 首页 > 编程日记 > 正文

【青少年编程】【Scratch】04 事件模块

「青少年编程竞赛交流群」已成立(适合6至18周岁的青少年),公众号后台回复【Scratch】或【Python】,即可进入。如果加入了之前的社群不需要重复加入。

微信后台回复“资料下载”可获取以往学习的材料(视频、代码、文档)。

04 事件模块

在Scratch中,所有脚本在运行前都需要有一个触发条件。

触发方式可以分为三大类:

第一类:是通过人为操作来触发脚本运行,如:使用鼠标点击键盘点击等;

第二类:是通过外界环境的改变来触发脚本运行,如:舞台背景切换外界声音大小等;

第三类:是通过在脚本之间广播接收消息来触发脚本运行;

在等级考试中考察该模块的知识点如下:

  • 能够应用广播来传递数据,实现不同角色之间的交互;
  • 能够理解广播和广播并等待的区别;

1. 通过人为操作来触发脚本

(1)当小绿旗被点击

这是我们程序开始启动的事件,即点击小绿旗后程序开始执行,随后执行后面的程序模块。

Scratch中的大部分脚本都是通过它来触发的,这是Scratch中最基本的脚本触发方式。

(2)当按下某个键

通过按键盘中的按键来触发脚本也是一种常用的人为触发方式。

在Scratch3.0版本中下拉三角可以选择的按键有空格键、方向键(上下左右)、字母键(a-z)、数字键(0-9)以及任意一个键。

(3)当角色被点击

在某个角色使用了这个事件之后,当角色被点击,就会执行后面的程序脚本。

2. 通过外界环境的改变来触发脚本

(1)当背景换成某背景

通过背景切换触发是指当舞台拥有多个背景时,切换为某个指定的背景即会触发脚本的运行。

(2)通过响度进行判断

在Scratch3.0版本中下拉三角可以选择的有响度和计时器。

  • 响度就是音量,当计算机上连接的麦克风接收到的声音的音量大于指定数值时就会触发脚本。
  • 计时器可以看成是一个秒表,当这个秒表记录下的时间大于指定数值时就会触发脚本。

响度和计时器的使用,参见侦测模块。

3. 通过广播和接收消息来触发脚本

最后这一组积木块(3个)极为重要,利用广播与接收消息积木,可以实现不同角色之间的交互。

(1)广播消息

向包含自身在内的所有角色发送一个消息。发送完后,会立即继续向下执行。

(2)广播消息并等待

向包含自身在内的所有角色发送一个消息。发送完后,会等到所有接收消息的脚本执行完成后才继续向下执行。

可以建立新的消息,如下图:

(3)当接收到消息

当角色接收到指定的消息时,便触发该脚本。

4. 例子:小鸡捉害虫

田野里一只饥饿的鸡发现了蝗虫,快速地跑向蝗虫捉着了它。

1. 准备工作

(1)导入背景:“Forest”;

(2)导入角色:“Hen”、“Grasshopper”。

2. 功能实现

(1)设置角色:“Hen”初始坐标为(x=-180,y=-120);

(2)设置角色:“Grasshopper”初始坐标为随机,角色大小为30;

(3)单击绿旗,角色“Hen”向“Grasshopper”移动并留下轨迹;

(4)画笔颜色为蓝色,粗细为2;

(5)当碰到“Grasshopper”时,母鸡“Hen”发出声音,“Grasshopper”消失。

3. 利用广播和接收消息进行实现

Hen

Grasshopper


基础知识:

  • 01 运动模块
  • 03 声音模块
  • 06 侦测模块
  • 10 画笔模块

一级编程题:

  • 01 森林的一天
  • 02 舞者凯希
  • 03 小狗散步
  • 04 猫捉老鼠
  • 05 城堡漫步
  • 06 火箭发射
  • 07 飞向太空
  • 08 小狗长大记
  • 09 运动起来
  • 10 动物园之旅
  • 11 球飞了
  • 12 希神吓走猫头鹰
  • 13 棒球运动会

二级编程题:

  • 01 飞不出去的蝴蝶
  • 02 巡线小车
  • 03 绘制雪花图案
  • 04 制作蝙蝠冲关游戏
  • 05 飞翔的小鸟
  • 06 绘制十个正方形
  • 07 别碰红块
  • 08 小鸡捉害虫
  • 09 垃圾分类
  • 10 两座对称的山峰
  • 11 寻找宝石

三级编程题:

  • 01 幻影小猫
  • 02 猫咪抓老鼠游戏

小朋友投稿:

Scratch:

  • 陈晓光:猜数字游戏
  • 马雷越:小猫寻宝
  • 马雷越:商品价格竞猜

Python:

  • 黄羽恒:天气预报
  • 黄羽恒:我要背单词
  • 黄羽恒:加减乘除法小测试
  • 黄羽恒:翻译小工具 – 利用有道翻译
  • 黄羽恒:翻译小工具 – 利用百度翻译

群内答疑:

Scratch:

  • Scratch中对「等待(0)秒」的理解
  • Scratch中对「重复执行(10)次」的理解
  • Scratch中异步代码的执行顺序

Python:

  • Python中的分号
  • Python中的缩进规则

相关文章:

1.随机函数,计算机运行的基石

待地铁的时间-在区间(a,b)上均匀分布的随机函数 rnd(1)是产生一个p (0 rnd(1) x (b-a) a 增量 基数 // 进行一系列的重复独立试验,每个试验的结果只有二个, 一个结果出现的概率总是p,另一个结果总是q, 称为贝努利试验 至一个结果出现所进行…

java培训班如何选择

想要进军互联网行业,大多数人的选择都是java技术,java技术在互联网行业是非常稳定的,那么学习java技术的话,java培训班如何选择呢?来看看下面的详细介绍。 java培训班如何选择?主要参考以下几点: 第一,选…

谢文睿:西瓜书 + 南瓜书 吃瓜系列 4. 二分类线性判别分析

Datawhale南瓜书是经典机器学习教材《机器学习》(西瓜书)的公式推导解析指南,旨在让在学习西瓜书的过程中,再也没有难推的公式,学好机器学习。 以往内容: 西瓜书公式推导讲解来了!0. 导学1. 一…

二叉排序树的相关操作

#include <IOSTREAM.H> #include <STDLIB.H> //二叉树的生成和释放 typedef struct Node {int data;struct Node * pParent;struct Node * pLeftChild;struct Node * pRightChild; }Node;Node * Create_BTree(int *array,Node* pParentNULL)//二叉排序树的创建,按照…

IDEA的常用操作(快捷键)

Alt回车 导入包,自动修正 CtrlN 查找类 CtrlShiftN 查找文件 CtrlAltL 格式化代码 CtrlAltO 优化导入的类和包 AltInsert 生成代码(如get,set方法,构造函数等) CtrlE或者AltShiftC 最近更改的代码 CtrlR 替换文本 CtrlF 查找文本 CtrlShiftSpace 自动补全代码 Ctrl空格 代码提示…

UI设计培训分享:ui的字体怎么正确设置?

UI设计工作中&#xff0c;UI字体设计是非常重要且频繁使用的一个工作内容之一&#xff0c;对于字体的设计也是非常需要进行注意的&#xff0c;本期小编为大家介绍的UI设计培训内容就是关于ui的字体怎么正确设置?来看看下面详细介绍。 UI设计培训分享&#xff1a;ui的字体怎么正…

【译文转帖】用C#写COM组件 Building COM Objects in C#

说明: 我是一个C#程序员,但是有一次一个需求只能用C/C去写,恰好需要读取的数据存放在DB(SQL CE v3)里面,而我又不会C/C(关键是用OleDB访问DB,这个实在是繁琐),所以催生了用C#写一个COM组件,用C/C去调用的想法.可谓,很傻很天真.但是也是一种思路,如果MS提供C API的话,问题就简单…

apache 开启 gzip 压缩服务

2019独角兽企业重金招聘Python工程师标准>>> 1、打开 apache 的 "httpd.conf" 文件&#xff0c;找到以下这一行&#xff0c;将它前面的注释&#xff08;#&#xff09;去掉&#xff1a; LoadModule deflate_module modules/mod_deflate.so 2、在 httpd.con…

Scratch等级考试(二级)模拟题

青少年编程竞赛交流群已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料&#xff08;视频、代码、文档&…

找Java培训机构有哪些评判标准

想要学习java技术&#xff0c;找java培训机构是大多数人的选择&#xff0c;目前市面上的java培训机构有很多&#xff0c;用什么评判标准来找到时候自己的机构呢?来看看下面小编为大家介绍的找Java培训机构有哪些评判标准? 找Java培训机构有哪些评判标准? 1.师资力量的标准 我…

Josephus问题

目的&#xff1a;练习下单链表和指针 &#xff08;OS 10.7 Xcode 4.2&#xff09; 代码如下&#xff1a; 1 #include <stdio.h>2 #include <stdlib.h>3 4 typedef struct lnode5 {6 int data;7 struct lnode *next; 8 }lnode;9 10 int main(void) 11 …

Datawhale组队学习周报(第017周)

本周&#xff08;05月31日~06月06日&#xff09;&#xff0c;第 25 期组队学习一共有 3 门开源课程&#xff0c;共组建了 3 个学习群&#xff0c;参与的学习者有 292 人&#xff0c;其中 web开发入门教程 已经结营&#xff0c;另外两门课程也在结营筹划中。 第 26 期组队学习也…

给一个ul列表中点击到的li赋予样式

2019独角兽企业重金招聘Python工程师标准>>> 效果如下&#xff0c;点那个那个获取样式,之前已经有样式的取消。 代码如下&#xff0c;我是在菜鸟教程上在线编辑的&#xff0c;所以就这样喽~ if判断不加也行 <!DOCTYPE html> <html> <head> ​ <…

参加过java培训机构的学员如何找出路

java技术在互联网行业的发展&#xff0c;引起了越来越多人的关注&#xff0c;市面上的java培训机构也不计其数&#xff0c;很多人都比较想知道参加过java培训机构的学员如何找出路?对于这个问题&#xff0c;我们来看看下面的详细介绍就知道了。 参加过java培训机构的学员如何找…

pku The Windy's KM最小权匹配 or 最小费用最大流

http://poj.org/problem?id3686 题意&#xff1a; 给定n个玩具&#xff0c;有m个车间&#xff0c;给出每个玩具在每个车间的加工所需的时间mat[i][j]表示第i个玩具在第j个车间加工所需的时间&#xff0c;规顶只有第i个玩具在j车间完成时第j车间才能接受其他玩具来生产。求加工…

react按需加载(getComponent优美写法),并指定输出模块名称解决缓存(getComponent与chunkFilename)...

react配合webpack进行按需加载的方法很简单&#xff0c;Route的component改为getComponent&#xff0c;组件用require.ensure的方式获取&#xff0c;并在webpack中配置chunkFilename。const chooseProducts (location, cb) > { require.ensure([], require > { cb(null,…

【青少年编程】【二级】绘制方形螺旋

「青少年编程竞赛交流群」已成立&#xff08;适合6至18周岁的青少年&#xff09;&#xff0c;公众号后台回复【Scratch】或【Python】&#xff0c;即可进入。如果加入了之前的社群不需要重复加入。 微信后台回复“资料下载”可获取以往学习的材料&#xff08;视频、代码、文档&…

软件测试的发展空间大吗

软件测试的发展空间大吗?很多人都非常关心这个问题&#xff0c;软件测试在互联网行业的发展空间是非常大的&#xff0c;学习软件测试技术并不难&#xff0c;只要经过系统的软件测试培训都是可以学会的&#xff0c;下面来看看详细的介绍。 软件测试的发展空间大吗 早期&#xf…

vim windows linux文件格式转换

vim windows linux文件格式转换 set ff? #显示当前文件格式set ffunix #设置成unix格式set ffdos #设置成dos格式posted on 2012-11-02 09:43 一颗卤蛋 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/lyroge/archive/2012/11/02/2750689.html

NCEPU:线下组队学习周报(009)

线下组队学习 经过一段时间的准备&#xff0c;我们组织的线下组队学习逐步进入正轨。欢迎华北电力大学保定校区的伙伴加入进来大家一起学习一起成长。 我们开展组队学习的内容为&#xff1a; &#xff08;1&#xff09;周志华的《机器学习》&#xff08;西瓜书&#xff09; …

零基础学java培训怎么选择学校

java技术在互联网行业的快速发展&#xff0c;引起了很多人的关注&#xff0c;大家都想通过学习java技术来加入到这个行业&#xff0c;那么零基础学java培训怎么选择学校呢?如今市面上的java培训机构这么多&#xff0c;下面小编就来为大家详细的介绍一下吧。 零基础学java培训怎…

C++对象的内存布局1---基础篇----C++ 虚函数表解析

[-] 前言虚函数表一般继承&#xff08;无虚函数覆盖&#xff09;一般继承&#xff08;有虚函数覆盖&#xff09;多重继承&#xff08;无虚函数覆盖&#xff09;多重继承&#xff08;有虚函数覆盖&#xff09;安全性结束语附录一&#xff1a;VC中查看虚函数表附录 二&#xff1a…

iOS开发 关于启动页和停留时间的设置

引言: 在开发一款商业App时&#xff0c;我们大都会为我们的App设置一个启动页。 苹果官方对于iOS启动页的设计说明&#xff1a; 为了增强应用程序启动时的用户体验&#xff0c;您应该提供一个启动图像。启动图像与应用程序的首屏幕看起来非常相似。 当用户在主屏幕上点击您的应…

web前端培训:CSS中单行文本溢出显示省略号的方法

CSS中单行文本溢出显示省略号的方法你知道吗?在web前端技术学习中&#xff0c;这个问题其实是属于老生常谈了&#xff0c;因为css单行文本的应用是非常频繁的&#xff0c;比如网站最基本的文章列表&#xff0c;标题会很长&#xff0c;而显示列表的区域宽度却没有这么宽&#x…

如何使用pyecharts中自带的数据集?

如何使用 pyecharts 中自带的数据集&#xff1f; 我们在学习pyehcarts绘图的过程中&#xff0c;需要一些练习的数据。 pyecharts为我们提供了这样的数据集 – Faker&#xff0c;存储于 faker.py 文件中。 下面&#xff0c;我们就来详细介绍一下。 1. Faker中包含的数据集 …

Ext.app.controller的refs

简 单来说&#xff0c;就是4.0建议的MVC中controller引用组件的一种方式&#xff0c;selector中设置组件&#xff0c;可以用id、classname&#xff0c;但推荐用 ComponentQuery&#xff08;“组件检索”功能&#xff0c;这个也是4.0的新特性&#xff09;来定位组件。ref中设置引…

MBA 工商管理课程-风险型决策方法

&#xff08;二&#xff09;风险型决策方法 适用的条件 未来情况不止一种&#xff0c;管理者不知道到底哪种情况会发生&#xff0c;但知道每种情况发生的概率 常用方法&#xff1a; 决策树法&#xff1a;用树状图来描述各种方案在…

Python培训分享:python如何用cookie实现自动模拟登录?

本期教程Python培训教程为大家带来的是python如何用cookie实现自动模拟登录?据小编的了解&#xff0c;python实现cookie自动登录&#xff0c;目前来说有许多第三方库都可以直接使用&#xff0c;这里以常用的requests库为例简单介绍一下&#xff0c;整个过程非常简单&#xff0…

如何使用pyecharts中的主题样式?

如何使用pyecharts中的主题样式&#xff1f; pyechart为用户提供了一套使用方便的主题风格。 本篇图文将总结pyecharts.globals中ThemeType所有主题风格并进行详细的解释。 class _ThemeType:BUILTIN_THEMES ["light", "dark", "white"]LIGH…

乐意使人恐惧,源于自身的空虚

有一回我对稻草人说&#xff1a;“你总是孤独守望在这片寂寞的土地上&#xff0c;你一定厌倦了吧&#xff1f;” 稻草人回答道&#xff1a;“能使他人恐惧是一种深沉持久的快乐&#xff0c;对此我永远不会感到厌倦。” 我低头沉思&#xff0c;尔后说道&#xff1a;“的确如此&a…