Scratch编程入门

article/2025/9/26 16:54:20

Scratch编程入门

Scratch是麻省理工学院的“终身幼儿园团队”(Lifelong Kindergarten Group)开发的图形化编程工具,免费。2019年1月2日正式发布, Scratch3.0。

Scratch把计算机执行的指令、逻辑变成了小朋友能看明白的“积木”,利用它可轻松地创建自己的互动故事、动画、游戏、教学工具和科学模拟实验等。

**Scratch编程与其他代码编程的主要区别:**编程书写方式不同。Scratch是可视化图形编程语言,使用者可以不认识英文单词,也可以不会使用键盘。其构成程序的命令和参数是积木形状的模块,不用书写代码语句,只需按照一定的逻辑用鼠标拖动模块把它们拼在一起就可以。其他编程语言,例如:Python,java,C等,必须具备一定的打字能力,以及书写英文单词的能力,利用代码语句来书写代码。Scratch编程比较直观,其他编程语言抽象一点,但是,编程的逻辑是相通的,只是表现形式或叫法不同。

与以前2.0版本不同,Scratch3.0版本使用H5和JS语言编写,打破了电脑端和移动端的壁垒,有望在后期实现手机端的同步编程。在Scratch 3.0中文版中你可以完全采用简体中文。

Scratch具有许多编程语言的重要特性,如循环(重复块)和条件(如果那么块)。借助这些功能,我们可以创建算法或指令来完成特定任务。有些人认为在Scratch中拼接块而不是键入文本,所以它不是真正的编程语言。但输入文本不是编程的必要条件。许多编程语言都是用文本编写和存储的,但不是全部。例如,使用编程语言通过连接图形节点来创建程序,产生的程序是框图的形式。又如,在80年代中期之前,大多数程序员使用物理穿孔卡上的孔来编写和存储他们的程序。

与任何一个编程语言都会有一点劣势一样,**目前scratch的缺点:**一是缺乏操作其它文件(如文本文件)和数据库的手段。二是scratch的中的积木模块本质上相当于一个函数,没有返回值,只能采用一种方式——全局变量来改变。三是缺乏错误处理手段,如果出现错误,进行优化的时候,比较麻烦,只能通过一次一次的查积木来解决这个问题。但总体上来说scratch还是很适合作为编程语言启蒙使用的。

Scratch官网 https://scratch.mit.edu/

特别提示,目前,官网打不开。如果希望在线体验,可用
https://www.scratch-cn.cn/

如果想使用离线版,请先上网搜索下载按装后使用。

用户(学员)可以使用在线版本或离线版本学习Scratch编程。

Scratch3.0打开后的主界面如下:

★菜单栏:文件、编辑和教程。

★功能操作区:有三个标签页:代码标签页、造型或背景标签页、声音标签页,默认为代码标签页。

代码标签页的左边(积木选择区)列出了所有的用于操作当前角色的积木,右边(脚本区)是编写脚本代码(程序)的区域,Scratch就是通过组合积木区的各种积木来进行编程的:在代码标签页的积木选择区中单击选择积木,通过鼠标拖动到脚本区域,卡合在一起。

★舞台区:默认情况下中间是一只小猫作为角色。舞台区左上角是用于控制程序启动与终止的按钮;舞台区右上角的按钮可以设置舞台区的大小。舞台区是我们编码效果的展示区域,我们所有代码将以可视化的方式在这里展示。

舞台坐标

这个舞台是由一个左右宽度为480,上下高度为360的直角坐标系组成的,舞台区的每一个点都可以用一个坐标(x,y)来表示,用坐标来确定舞台区上的角色所处的位置。舞台中心为(0,0), 水平方向为X轴范围(-240,240),垂直方向为Y轴范围(-180,180)。我们用鼠标拖动角色小猫,可以观察到角色区中小猫属性中的XY的值在变化,同时也观察到“运动”模块中与XY坐标有关的积木模块中的XY也在变化。

★角色区:角色区在舞台的下面,打开Scratch工具后,它为我们默认创建一个小猫的卡通角色。我们可以修改它,或者删除它,创建一个新的角色。

允许建立多个角色并分别控制。选中的角色四周用蓝色的方框表示,并在上方显示角色的属性,可以改变角色的当前状态。点击选中角色右上角的“x”按钮,可以删除该角色。

【提示:鼠标指向角色区的弹出式按钮,出现弹出菜单】

同一个角色可以有多个造型,造型随着场合的需要进行切换。例:电视剧里有一个男主角(角色),他在工作的时候都穿西装(造型1),在篮球场的时候都穿运动服(造型2),在朋友聚会的时候穿一身休闲服(造型3)。

★背景区:背景区可以新建背景,作为舞台背景,新建的方式也有四种,比如从背景库中选择背景。

【提示:鼠标指向背景区的弹出式按钮,出现弹出菜单】

一个精美的游戏或是动画作品,除了主要角色之外,应该还有对应的背景(舞台背景),这样会让整个作品看起来更加美观,也容易让观众有代入感。

造型有编号和名称两个重要的属性,角色除了名称、编号、体积大小,还有朝向、中心点、层级、颜色等等其他的属性。

Scratch编程活动——无论是游戏,是动画,还是其他形式的程序,通常都是围绕角色展开的。

打开Scratch工具后,它为我们默认创建一个小猫的卡通角色。我们可以修改它,或者删除它,然后创建一个新的角色。

Scratch自带了一个角色库,有丰富的素材,包括,动物、建筑、人物等等。形象比较固定,**可以使用Scratch的“造型”编辑器,编辑角色或绘制新角色。**它提供了最基础的画图功能,比如,画直线、圆、方形等形状,填充颜色,橡皮檫等。参见下图:

编写Scratch程序的过程如下

1) 定目标

就是决定你需要完成什么功能,自己要有明确的目标。在这一步骤中,不涉及具体的编程语言,应该是一般术语来描述问题。

2) 设计

明确了程序将要完成什么任务,思考如何用Sratch来实现它。比如,需要什么样的舞台背景?有哪些角色?角色需要多少个造型?如何组织程序?等等。

3)创建

设计好程序之后,就可以动手创建了,一般是先把需要的角色和背景准备好,再用Scratch编写程序。这里是真正用到Scratch提供的脚本命令的地方。

4) 运行

运行用Scratch编写的程序,点击舞台右上角的“绿旗”按钮。红八边形按钮是用来停止程序运行:

5) 调试

运行程序时,你可能会发现程序有错误,计算机行业管这些错误叫bug。检查程序是否按照你设计的思路运行的。查找并修复程序bug的过程叫调试。

6) 维护

创建完程序后,你可能会发现隐藏的bug,或者你想添加一个新的功能,这时就需要修改程序。这些工作就是维护。

案例——简单的猜拳

为简单明了,对设定的目标进行了简化:

设置两个角色,分别为“玩家”和“电脑”,玩家手势变量通过按键控制赋值,这个值就是造型编号!玩家用z、x、c键控制变化手势,电脑随机变化手势应对。

准本素材图片,保存再一个文件夹中,参见下图:

你可以画图等工具制作这些图片。

由我们自己创建两个的角色:玩家角色 和 电脑角色。

打开Scratch工具后,它为我们默认创建一个小猫的卡通角色。在此我们删除它,

玩家角色设计

添加玩家角色

鼠标指向角色区的弹出式按钮,出现弹出菜单,单击其中的上传角色菜单,出现“打开:对话框,选中一张你已准备好的图片,再修改此角色的属性值,参见下图:

为玩家角色添加造型

点击造型标签页,在角色区选中要添加造型的角色,鼠标指向造型列表区的弹出式按钮,出现弹出菜单,单击其中的上传造型命令,出现“打开:对话框,选中你已准备好的图片,参见下图:

电脑角色设计

添加电脑角色,参见下图:

为电脑角色添加造型,参见下图:

现在,为角色设置脚本代码:

【关于Scratch 积木
积木官方英文原文是 block ,Scratch 中的积木可以分为三大类:
第一类是最常使用的,可以称呼为 默认 类别,包括 运动 、外观 、 声音、 事件 、控制 、 侦测、 运算、 变量 八大类 120 个积木。 这些积木类似于其它编程语言(比如 Python )的 内置函数 ,用户可以直接使用它们编写程序。
第二类是 自制积木 类别。这类积木相当于其它编程语言中的 自定义函数 ,用户必须先在程序中编写代码定义函数名称及其功能,定义完成后才能在后续程序中使用。
第三类是 扩展 类别,用于增强 Scratch 在多媒体、网络、智能硬件等方面的功能。这类积木相当于其它编程语言中的 扩展函数,使用之前需要 添加 ,添加了以后才可以使用。其中 音乐 、 画笔 、 视频侦测 这三种由 Scratch 官方开发,其它公司或个人也可以根据官方技术标准开发自己的扩展积木。

另一种分类方式是①命令积木,②触发积木,③控制积木和④功能积木。

命令积木和控制积木,两者上方均有一个缺口(凹槽),下方通常都有凸起,编写程序时,这些缺口和凸起可以卡合在一起组合成比较复杂的功能。触发积木(像个帽子)上方是圆弧形的,无缺口,说明它总是处于一段脚本的起始位置。这种积木会等待某个事件的发生,一旦事件触发,则立即顺序执行。那么什么是事件呢:例如,当按下某个按键或者单击某个角色,会触发按下事件或单击事件,这时候会执行事件积木下面的脚本。

功能积木没有缺口和凸起,因此无法单独使用,它们通常是作为其他积木块的输入。因此,看到这种形状,你就要知道它们的功能仅仅是得到一个值。圆角矩形的功能模块能得到数字或字符串,六边形的功能模块能得到真或假的逻辑值。】

在代码标签页的积木选择区中单击选择积木,通过鼠标拖动到脚本区域,卡合在一起即可。

玩家角色脚本代码如下:

电脑角色脚本代码如下:

保存成果

运行测试

要运行用Scratch编写的程序,点击舞台右上角的“绿旗”按钮。再按下z、x、c键,留意玩家手势、和电脑手势的变化,是否符合你的预期。

这个例子比较简单,主要是让初学者有个概观并快速入门,以便有个感性了解,在此基础上你可以改进,例如让代码具有判断输赢功能等。


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

相关文章

C语言网络编程——基础

OSI七层参考模型 是理想化的并没有完全实现的模型。 应用层 提供响应的应用服务 表示层 数据的表示和加密 会话层 建立会话关系 传输层 通过传输协议传输数据 网络层 实现跨子网通信,路由转发,维护路由表。 数据链路层 实现以太网内数据帧的转发 …

matlab 神经网络编程入门系列(1)

本文主要内容包括: (1) 介绍神经网络基本原理,(2) Matlab实现前向神经网络的方法 。 第0节、引例 本文以Fisher的Iris数据集作为神经网络程序的测试数据集。 由于英文的类无法识别,故需要把对应的类用数字标识,数据集变成&…

WinPcap网络编程入门——0. 环境配置及系列介绍

WinPcap网络编程入门——0. 环境配置及系列介绍 系列教程章节直达: Winpcap网络编程入门——1. 获取设备列表; 说明:本教程适用于网络编程开发人员入门,将从底层分析 WinPcap 的执行过程,结合一些实际用例来学习 WinP…

Java核心类库之(网络编程:网络编程入门、UDP通信程序、TCP通信程序)

目录 1 网络编程入门1.1 网络编程概述1.2 网络编程三要素1.3 IP地址1.4 InetAddress的使用1.5 端口1.6 协议 2 UDP通信程序2.1 UDP通信原理2.2 UDP发送数据2.3 UDP接收数据2.4 范例 3 TCP通信程序3.1 TCP通信原理3.2 TCP发送数据3.3 TCP接收数据3.4 案例3.4.1 练习一&#xff1…

Java网络编程入门(软件结构、网络通信协议、网络编程三要素)

文章目录 🐕软件结构🐶网络通信协议🦁协议分类🐅网络编程三要素🐆协议🐎IP地址🦌端口号 🐕软件结构 C/S结构 :全称为Client/Server结构,是指客户端和服务器结…

黑客编程入门 之 网络编程入门

网络编程入门 前言Socket技术详细介绍Socket 编程所需函数服务器/客户 代码 前言 “任何职业都可以成为黑客。你可以是一个木匠黑客。不一定是高科技。只要与技能有关,并且倾心专注于你正在做的事情,你就可能成为黑客。” ——引自《黑客伦理与信息时代精…

WinPcap网络编程入门——1. 获取设备列表

WinPcap网络编程入门——1. 获取设备列表 系列教程章节直达: Winpcap网络编程入门——1. 获取设备列表; 上节中我们简单介绍了 WinPcap 的相关资料,配置好了开发环境,现在就让我们正式开始网络编程开发吧! 1. 基本开…

网络编程入门(代码很详细)

网络编程 1.1概述 计算机网络:计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算…

网络编程——(1)网络编程入门

一、软件架构 1.1C/S结构: 全称Client/Server结构,是指客户端和服务器结构。常见的程序有QQ、迅雷等。 1.2 B/S结构: 全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐等。 两种架构各有优势&#xf…

网络编程入门

1.网络编程入门 1.1网络编程概述 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统 网…

线性代数学习笔记——第六讲——矩阵的转置

1. 矩阵转置的定义(矩阵的行和列互换位置) 2. 矩阵转置的性质之一:矩阵转置一次后再转置一次,等于矩阵自身(有点像一个两状态开关,在开与关之间来回切换) 3. 对称矩阵的充要条件是矩阵转置一次后…

转置矩阵、对称矩阵、反对称矩阵以及向量的反对称矩阵

一、转置矩阵 假设矩阵 A 如下表示: 则其转置矩阵表示为: 二、对称矩阵 若矩阵 B 与其转置矩阵相等,则称矩阵 B 为对称矩阵,如: 三、反对称矩阵 若矩阵 C 与其转置矩阵取负后相等,则称矩阵 C 为反对称矩…

Java编程之转置矩阵

一、题目 利用随机函数产生36个10~30之间的整数给一个6*6的矩阵赋值。 (1)求最大元素,并指出其在矩阵中的所有出现位置; (2)求该矩阵的转置矩阵。 二、实验代码 package fighting; import java.util.Rand…

FPGA 矩阵转置

这里写目录标题 1 功能2 开发环境3 框架4 转置公式5 Simulation第一部分第二部分第三部分 6 Matlab代码产生FIFO数据产生转置矩阵 7 HDL仿真文件顶层文件FIFO顶层文件FIFO读FIFO写RAM顶层文件 8 IP配置FIFORAMROM 9 Reference 1 功能 通过tb读取本地数据保存到FIFO&#xff0c…

MATLAB的转置

小席的碎碎叨:   以前处理的数据通常都是实数矩阵,一直认为MATLAB中的转置可用实现,并没有发现有什么不对。但是,这段时间在做线性调频信号的干扰抑制的仿真,其信号矩阵都是复数矩阵,依然在需要转置的时候…

矩阵转置(transpose、T)

1.T T 适用于一、二维数组的转置 transpose 适用于高维数组,需要用到一个由轴编号组成的元组,才能进行转置 In [1]: import numpy as npIn [2]: arr np.arange(20).reshape(4,5)#生成一个4行5列的数组In [3]: arr Out[3]: array([[ 0, 1, 2, 3, 4]…

线性代数:转置矩阵(matrix transpose)和逆矩阵(matrix inverse)

这一篇是为了后面着色效果的数学基础做积累,之前我们使用矩阵的大部分情况都是直接的仿射空间变换,就是仿射空间A变换到仿射空间B,使用矩阵也都是如下: 矩阵T*齐次坐标V 齐次坐标V 其计算细节也就是矩阵行与向量列的点积&#xf…

转置矩阵(matrix transpose)和逆矩阵(matrix inverse)的相关公式

转载自: https://blog.csdn.net/yinhun2012/article/details/84236202 这一篇是为了后面着色效果的数学基础做积累,之前我们使用矩阵的大部分情况都是直接的仿射空间变换,就是仿射空间A变换到仿射空间B,使用矩阵也都是如下: 矩阵T…

转置矩阵(Transpose of a matrix)

定义 给定一个矩阵 A,将矩阵的行列互换得到的新矩阵称为转置矩阵,记为 ,。转置矩阵的行列式不变,即 。转置矩阵由下列动作建立: 将 A 的横行写为 的纵列;将 A 的纵列写成 的横行。 形式来说&#xff0…

数据结构--3.3 矩阵转置

矩阵转置 结构体创建初始化转置打印测试代码运行结果 1.稀疏矩阵的压缩存储,至少需要存储以下信息: 矩阵中各非 0 元素的值,以及所在矩阵中的行标和列标; 矩阵的总行数和总列数; 上图是一个稀疏矩阵,若对…