和小朋友分享一些Scratch学习的心得一

article/2025/9/19 23:57:02

都说未来是人工智能、数字化的时代,如何让青少年接触计算机编程思想和技能,已经成为国家人才发展的重要战略之一。

Scratch是由美国麻省理工学院MIT设计开发的图形化少儿编程工具。通过图形控件,小孩可以在不编写任何代码的情况下实现很多程序功能。从初步体验来看,五六岁以上的小孩即可上手。Scratch使用了舞台、角色概念,内置的人物、动物、玩具等对小孩还是很有吸引力的。小孩可以当做游戏来玩。在小孩还不能独立完成程序人物的情况下,家长或老师可以指导小孩完成程序设计,做一个小动画,实现各种变化,通常来说,小孩的兴致还是很高的。学员无需下载scratch软件,可以直接在MIT网站上使用

我最早是在2016年接触的Scratch编程,那时还是Scratch2.0版本,因为我本身是学软件编程、软件设计出身的;大学的专业就是软件工程;所以接触Scratch编程比较容易上手;给我最大的感受是里面的所有的程序都是积木块的方式进行呈现的;小朋友学起来上手快(因为整个写程序的过程就是一个搭积木的过程)。而且软件里面模块也分的比较清楚,有各种各样的模块(运动、外观、声音、事件、控制.....)

刚开始接触的案例是在巫师大战蝙蝠首先介绍了这个软件能够做什么。然后直接在软件图库中选择了舞台背景,看了一遍系统提供的舞台背景以后,小孩选择了雪地雪山背景。有了背景以后,就可以添加角色。默认的角色是一个小猫咪,先把这个小猫咪删掉。因此需要了解鼠标的左右键,点击右键,能够将选中的角色删除。系统提供了动物、奇幻、字母、热恩无、物品、交通等角色分类。小孩看到这些角色图库,着实兴奋了一把,都像把他们放进来。

我们确定今天的主题是让某个角色飞起来。所以最后是选择了巫师,因为之前看过哈利波特的电影。计划是让巫师从舞台左下角飞到舞台右上角,达到右上角以后,回到左下角原点。后来有添加了螃蟹、蝙蝠、鬼怪。打算巫师是对角飞,螃蟹是在下方左右翻滚移动,鬼怪在中间左右平飞,蝙蝠在舞台中间自下而上飞,同时蝙蝠会逐渐变大。

先完成巫师的对角飞行。介绍舞台的X方向和Y反向。舞台的正中央是零点。如果要想让某个角色从左到右移动,那么横向的X是增加还是减少?答案是X++,比如一次加1或者一次加4,加的越多,就飞得越快。然后巫师还需要往上飞,因此Y方向要向上移动,即Y++。如果要往左飞,则X–,往下飞则Y–。舞台最右边是X=240,最左边是X=-240。舞台最上面是Y=180, 最下面是Y=-180。负数就是比零还小的数字。

有了这个认识以后,我们进入脚本区域。介绍第一个分类是“事件”。在事件中,我们添加了“当小绿旗子被点击”,就是开始按钮,然后执行一些操作。

1)因为默认的巫师图片比较大,所以每次开始时,我们都先设定巫师的大小为60。这样怎么操作?进入“外观”,里面有一个控件“将角色大小设定为XX”,XX空格中可以录入数字。将这个控件拉过来,把开始小旗子磁贴粘贴在一起。这和乐高的WEDO类似。就是几个控件依次放在一起。

2)要实现巫师往右飞,我们使用了“运动”中的控件“将X坐标增加XX”,我们设定了增加4.

3)要实现巫师往上飞,我们使用了“运动”中的控件“将Y坐标增加XX”,我们设定了增加3.

这时候已经可以开始运行了,但是每次点击运行,巫师只会飞一点点,需要不停点击,才能往右上角飞。

那如何让巫师连续的飞的?答案是使用循环。

4)循环属于“控制”,在“控制”分类中,选择重复执行这个框,将X,Y的两个控件都包括在内。

因为是重复无数次执行,因此我们实现了巫师对角飞行。但是问题又来了。巫师碰到右上角以后,就飞出去不动了,因为到底了。如何解决这个问题?

这时候我们讨论,每飞一次,我们就检查一下,如果X坐标大于240,我们就然巫师重新回到左下角。因此我们增加了一个判断。

5)判断还是属于“控制”,在控制中增加“如何…..那么”的判断。

6)判断有条件,条件属于“运算”,我们到“运算”中,拖一个“某某>某某”的判断控件到这个“如果…那么”上。

然后获取巫师的当前位置,这可以在“运动”中找到“X坐标”。判断条件是:

X坐标> 240.

7)如果条件满足,我们就要让巫师回到原点,即X坐标等于-240,Y坐标等于-180。

运行,巫师就开始对角飞行,飞到右上角以后,又重新回到坐下角,不停的重复。

后来我们按照相同的方法,实现了旁边从左到右,里面增加了一个运动动作“右转XX度”。

鬼怪的动作我们选择了,从左到右,但更简单,没有使用判断,只是往右执行120次,X轴每次增加4,执行完毕以后,继续执行120次,但是每次增加-4,这样就实现了不停来回的移动。

对于蝙蝠,我们加上了大小变换。从下往上移动,还是使用判断,到达顶部以后回到底部。蝙蝠往上移动的时候,我们然大小逐渐变大,然后回到原点的时候,重新设置为开始时的大小。

我们是使用浏览器,在MIT网站上直接使用Scratch的,最后我们将项目保存在MIT网站中,同时保存一份到本地计算机桌面上。

小孩说要设计一个能发射炮弹的游戏。那我们下次,打算让一个飞机从左往右飞,然后飞行过程中能够向下扔炸弹。飞机是一个角色,炸弹是一个角色,关键是计算位置,要实现炸弹是从飞机上扔下来的。

要继续学习,就得好好吃饭,先做好作业。果然,有了这个期待,今天的娃还是很听话的。

总结今天学习的内容:

1.    舞台:会自己添加舞台背景了。

2.    角色:会自己添加角色了。

3.    事件:开始

4.    外观

a.    将角色大小设定为60

b.    将角色大小增加2

5.    运动

a.    将X坐标增加4

b.    将Y坐标增加3

c.     右转4度

d.    X坐标:读取X坐标的值

e.    移动到X=-240, Y=-180:回到左下角。

6.    控制

a.    重复执行:无限制,永远重复

b.    重复执行140次:每次X+2

c.     如果??那么??:如果X>240,就回到原位。

对于这些分类,第一次还是记不住的,后面希望每周花半天时间,通过练习,记忆,能够自行完成这些作业。其他时间,可以讲解各种设计、控件和基础知识。

黑板上第一讲,写了一些重点。小孩表示能够理解,能够回到,如果要往右飞,X应该增大,还是减小,Y应该增大还是减小。

scratch编程环境。左上角是舞台,下面可以选择舞台背景图和角色。这里都直接使用图库中的图。右边是脚本和控件程序。

背景图库

分类角色:有奇幻、动物、人物、物品、交通等,对小孩还是很有吸引力的。

这是运算脚本,巫师飞行中,飞到右上角就返回到原点,所以这里使用了判断X>240. 

脚本中的分类还是很好的,通过颜色即可看到归入在哪一类中。不过小孩要先知道某个控件在某一类中,才能找到,例如判断在控制中,判断条件在运算中,大小变化在外观中,XY左边变换,转动在运动中。

外观控件

鬼怪的的程序,从左到右,然后返回。

家有五六岁以上的小孩,都可以试试这个scratch编程,可以当做游戏玩。


http://chatgpt.dhexx.cn/article/PjcFioIh.shtml

相关文章

TP6解决跨域问题

项目场景: 使用TP6制作前端小程序的API接口,遇到跨域问题,多方尝试后 已解决 问题描述: Access to XMLHttpRequest at https://www.XXX.com/Api/getData from origin http://localhost:8080 has been blocked by CORS policy: No…

Express解决跨域问题

跨域:指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。 例如:a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域…

IIS解决跨域问题

都知道如果不同源直接访问一些图片及文件的话会直接报错跨域解决的方法也很简单如图: 点击HTTP响应标头 添加 名称:值 Access-Control-Allow-Credentials:true Access-Control-Allow-Headers:origin,x-requested-with,content-typ…

Cors解决跨域问题

问题 问题:axios请求,出现两次request,其中一次Request Method: OPTIONS 原因:跨域原因 跨域问题 什么是跨域 跨域是指跨域名访问,一下情况都属于跨域: 跨域原因说明示例域名不同www.jd.com 与 www.ta…

Nginx 解决跨域问题

什么是跨域 当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域 nginx解决跨域请求 nginx.config配置 server {listen 80;server_name my.cn.com;location / {proxy_pass http://test.cn.com:8081/test;index index.html index.htm;}locat…

js解决跨域问题

📗目录 一、同源策略 二、什么是跨域 三、解决跨域 1.Jsonp实现跨域 2.代理的方式 3.CORS 🍊一、同源策略 所谓同源策略,就是指两个页面具有相同的协议,主机(也常说域名),端口&#xff…

Nginx 轻松解决跨域问题

当你遇到跨域问题,不要立刻就选择复制去尝试。请详细看完这篇文章再处理 。我相信它能帮到你。 # 分析前准备: 前端网站地址:http://localhost:8080 服务端网址:http://localhost:59200 首先保证服务端是没有处理跨域的&#…

后端解决跨域问题

前言: 今天前端给我发了一个截图, 当时就蒙了, 这个是啥子问题 跨域了, 叫我解决一下跨域的问题! 这个主要是浏览的约定! 前端调用的后端接口不属于同一个域(域名或端口不同),就会产生跨域问题,也就是说你的应用访问了该应用域名…

宝塔面板网站解决跨域问题

宝塔面板网站解决跨域问题解决方案如下 1.如果使用的nginx 打开网站的设置,找到配置文件,添加如下代码 代码如下: add_header Access-Control-Allow-Origin *;add_header Access-Control-Allow-Credentials true;add_header Access-Control-…

gin解决跨域问题

为什么会出现跨域问题 再非简单请求且跨域的情况下,浏览器会发送OPTIONS预检请求. Preflighted Requests是CORS中一种透明服务器验证机制.预检请求首先需要向另外一个域名的资源发送一个HTTP OPTIONS请求头,其目的就是为了判断实际发送的请求是安全的. 简单请求 简单请求需满…

nginx解决跨域问题

在我们前端开发的过程中, 相信大家都遇到过一个让人头疼的问题,那就是跨域问题. 跨域解决的方式有很多,这里主要讲的是如何来使用 nginx来解决我们所遇到的跨域问题 首先,在我们开始之前,首先要知道跨域是如何产生的: 协议 ip 端口号 这三者有任何一个不同,就会产生跨域问题 了…

Axios解决跨域问题

什么是跨域 首先需要了解到浏览器的同源策略,同源策略是最核心也是最基本的安全功能,缺少同源策略浏览器的正常功能可能会受到影响。同源策略会阻止一个域的javascript脚本和另外一个域的能容进行交互。同源(即指在同一个域)就是两…

跨域问题的4种解决方案

更多内容,请访问我的 个人博客。 前言 难以置信,我居然被跨域问题折磨了一上午。相信很多程序员都遇到过跨域问题,当然,解决方案也有很多种。但我今天尝试了无数种办法,依旧没有解决。直到最后我媳妇儿给了我个提示&a…

跨域问题常用的三种解决方式

一、什么是跨域?跨域是如何产生的? 同源策略: 浏览器内置的规则!是浏览器提供的一种安全机制,限制来自不同源的数据。如果当前页面的URL地址和Ajax的请求地址不同源,浏览器不允许得到服务器的数据; 同源: 协议 http||https、域…

完全二叉树的节点数

目录 Leecode.222完全二叉树的节点数思路分析层序遍历_迭代递归_二叉树的遍历迭代_二叉树的遍历 Leecode.222完全二叉树的节点数 给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。 完全二叉树 的定义如下:在完全二叉树中,除了最底…

完全二叉树的节点个数

给你一棵完全二叉树的根节点root,求出该树的节点个数。 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没有填满之外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底…

对二叉树、节点、度之间关系的思考(附图)

二叉树 节点 二叉树中每个元素都称为节点。 度 度的定义:节点所拥有的子树的数目称为该节点的度注意: 叶子节点的度为0 二叉树的度表示节点的子树或直接继承者的数目,二叉树的度是一个子树或单子树。2度是两个孩子,或者左和右…

【二叉树】二叉树中第二小的节点

0x00 题目 给定一个非空特殊的二叉树,每个节点都是 正数 并且每个节点的子节点数量只能为 2 或 0 如果一个节点有两个子节点的话 那么该节点的值等于两个子节点中 较小 的一个 更正式地说, root.val min(root.left.val, root.right.val) 总成立 给出…

求二叉树节点的路径

题目:求二叉树节点的路径 【问题描述】 建立一棵二叉树,编程实现求从根结点到给定结点之间的路径。 【基本要求】 建立一棵以二叉链表形式存储二叉树,以bt指向根结点,p指向任一给定的结点,编程实现“以字符形式输出…

二叉树(根节点到任意结点的路径)

假设二叉树采用二叉链表方式存储, root指向根结点,node 指向二叉树中的一个结点,编写函数 path,计算root到 node 之间的路径,(该路径包括root结点和 node 结点)。path 函数声明如下:…