一、概要

Scratch是麻省理工学院开发的供儿童或者初学者学习编程的开发平台。其通过点击并拖拽的方式,完成编程,可以使儿童或者成人编程初学者学习编程基础概念等。Scratch是一款积木式图形编程软件。

授权协议:GPLv2
开发语言:C/C++
支持系统:Windows、macOS 10.13+、ChromeOS、Android 6.0+(平板)

使用 Scratch,你可以编写属于你的互动媒体,像是故事、游戏、动画,然后你可以将你的创意分享给全世界。

Scratch 帮助年轻人更具创造力、逻辑力、协作力。

Scratch是MIT媒体实验室终生幼儿园小组开发的一个免费项目。

Scratch 已翻译成60种以上的语言,在超过 150 个国家被使用。

二、开发环境

截止到2021年已有1.4版、2.0版本(增加克隆积木,视频侦测,Lego拓展积木)、3.0版本(增加文字朗读、翻译和Makey makey等选择性下载扩展积木,并增加micro:bit和Lego mindstorms EV3拓展积木)

scratch 1.4、scratch 2.0、Scratch 3.0软件分别是用Smalltalk、flash、html5开发的。

2.1、在线开始

打开官网,点击“开始创作”,也可以直接点击:https://scratch.mit.edu/projects/editor/

初始化完成后就可以在线开发了,界面与离线版类似

2.2、PC开发

该工具支持Windows、Mac OS、Chrome OS操作系统,最新版本对操作系统的要求如下:

  • Windows 10+
  • macOS 10.13+
  • ChromeOS
  • Android 6.0+

测试发现Windows 7下也可以安装3.0版本(Scratch 3.20.1 Setup.exe)

最新版下载地址:https://scratch.mit.edu/download

网盘下载地址:https://pan.baidu.com/s/1Lu4TCueEFsxn6_0ZGepa-w

提取码:0e54

3.3、平板开发

目前的 Scratch Android 版本只支持平板电脑,不可以在手机中开发。

应用商店地址:https://play.google.com/store/apps/details?id=org.scratch

网盘下载

三、Scratch基础

安装好软件后就可以直接运行了

点击“控制”中选择“重复执行”,拖到“脚本”窗口

根据积木的颜色拼出如下的脚本

点击“全屏”预览效果

效果如下:

积木、脚本与角色是Scratch的主要组成。

每个角色拥有自己的脚本、造型、声音,舞台拥有脚本、背景、声音

四、发布项目

  1. https://sheeptester.github.io/words-go-here/scratch3-htmlifier/  网站Upload project上传本地sb3文件,或者先把本地sb3文件上传到mit scratch社区上,得到一个项目号Project ID。选择HTMLify without minification(recommended)如下图所示,完成后会下载得到文件ball.html。

    信息填写好后可以下载html文件到本地

  2.  https://nwjs.io/ 下载稳定版压缩包, 目前版本nwjs-v0.39.3-win-x64.zip. 解压后,把之前下载的ball.html移动到这个解压后的目录。并在该目录下建立一个icon.png图标文件,以及配置文件package.json文件,其json内容示例:项目名字,主程序文件,图标。
    {
    "name": "ball",
    "main": "ball.html",
    "icons": { "128": "cake.ico"}
    }

    双击运行nw.exe,就可以打开sb3转换成的exe可执行文件了

  3. http://revocue.cz/en/make-sfx/index.php 下载makesfx.exe,可以把nw.exe所在目录所有的文件制作成一个exe文件,可以定制文件名和图标。

五、开发小游戏

这个游戏就是我们移动挡板,使小球来回弹动不落地。

下图就是我们的游戏界面。

第一步:背景

怎样才能检测小球落地呢,我们在舞台底部做个标记,画一道其他颜色的矩形区域,使用这块积木侦测颜色,然后判定是否落地。

第一步:挡板与小球

首先把小猫角色删除掉。

挡板--绘制一个新角色,在中心位置绘制一个图上类似的矩形就可以,一定要在中心位置,也可以试一下不再中心位置绘制是什么样。可以填充你自己喜欢的颜色。

挡板的积木,首先移动到中心靠下的位置,重复执行为随鼠标的X坐标移动。

小球--从角色库中选一个球类的角色。

首先,移动到中心顶部的位置,设定一个大致的方向(还可以设置其他方向吗?自己试一下)。

然后按照方向移动,要加上“碰到边缘就反弹”,不然跑走回不来了。

在加上判定,碰到挡板,随机方向(可以设置其他数值吗?)反弹;落地,停止脚本。

加上声音效果是不是更好呢。

六、学习资料

链接:https://pan.baidu.com/s/1u22hgtY1ZZlKHm4S9DHbag

提取码:2670

网盘下载地址:https://pan.baidu.com/s/1Lu4TCueEFsxn6_0ZGepa-w

提取码:0e54

七、视频

Scratch教学视频

十分钟学会Scratch图形化编程的更多相关文章

  1. 08.十分钟学会JSP传统标签编程

    一.认识标签 1,说明:传统标签编程在开发中基本用不到,学习标签编程主要还是为了完善知识体系. 2,标签的主要作用:移除或减少jsp中的java代码 3,标签的主要组成部分及运行原理 4,简单标签示例 ...

  2. PHP学习过程_Symfony_(3)_整理_十分钟学会Symfony

    这篇文章主要介绍了Symfony学习十分钟入门教程,详细介绍了Symfony的安装配置,项目初始化,建立Bundle,设计实体,添加约束,增删改查等基本操作技巧,需要的朋友可以参考下 (此文章已被多人 ...

  3. java图形化编程

    转载 学习Java Swing图形化编程,我们首先要了解三个最基本的概念:顶层容器,控件,布局. 下面就来介绍一下这三个基本概念 1.顶层容器 什么是顶层容器?当我们使用Java进行图形编程的时候,图 ...

  4. arduino图形化编程——ardublock

    下载地址:http://sourceforge.net/projects/ardublock/ 项目主页:https://github.com/taweili/ardublock 运行效果图 ardu ...

  5. 三十二、Java图形化界面设计——布局管理器之CardLayout(卡片布局)

    摘自 http://blog.csdn.net/liujun13579/article/details/7773945 三十二.Java图形化界面设计--布局管理器之CardLayout(卡片布局) ...

  6. Sikuli:创新的图形化编程技术

    Sikuli是一种使用截图进行UI自动化测试的技术.Sikuli包括sikul脚本,基于Jython的API以及sikuli IDE.Sikuli可以实现任何你可以在显示器上看到ui对象的自动化,你可 ...

  7. ROS(indigo) 用于机器人控制的图形化编程工具--code_it robot_blockly

    0 简介: 编程语言有汇编,高级语言,解释语言等,现在图形化编程也越来越流行.图形化编程简单易学.8年前,微软推出了VPL用于机器人程序设计,如Python和JavaScript都可以用图形化框图实现 ...

  8. Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享

    Kittenblock画笔基础,移动留下痕迹的蝴蝶,图形化编程经验分享 跟很多学生聊过,很多学生不是不努力,只是找不到感觉.有一点不可否认,同样在一个教室上课,同样是一个老师讲授,学习效果迥然不同.关 ...

  9. 图形化编程娱乐于教,Kittenblock实例,为背景添加音乐

    图形化编程娱乐于教,Kittenblock实例,为背景添加音乐 跟很多学生聊过,很多学生不是不努力,只是找不到感觉.有一点不可否认,同样在一个教室上课,同样是一个老师讲授,学习效果迥然不同.关键的问题 ...

随机推荐

  1. cs实时系统之网关设计

    今天给大家讲一下client-server系统(cs)设计,基本结构 1.client 客户端,插件式开发,负责对应ui的展示 2.gateway 网关层,管理客户端通信连接,负载后端集群服务 3.s ...

  2. ARM汇编--汇编中符号和变量

    习惯了使用C语言的情况下我发现自己对与汇编程序的符号和变量的理解很不深刻,今天抽空来学学加深理解.以ARM汇编来说,在汇编代码中所有以"."开头的指令都是汇编伪指令,他们不属于AR ...

  3. UI 素材网站

    UI 素材网站 UI 设计师网站 国外: dribble.behance.Pinteres 国内: 优设.站酷.UI中国.花瓣 https://design.google/ https://dribb ...

  4. taro table component

    taro table component https://juejin.im/post/5d901696f265da5b926bbcaa https://taro-ext.jd.com/search? ...

  5. EventBus / Event Bus

    EventBus / Event Bus EventEmitter / Event Emitter https://greenrobot.org/eventbus/documentation/ htt ...

  6. NGK乘势而上打造生态所,建立全方位的区块链生态系统

    当金融理财变成了生活的一部分,购买金融衍生品的眼光成为了影响生活质量重要组成部分.这是一个不缺少黄金的年代,一夜间实现财务自由的故事每天都在上演,但是由于太多人缺少发现黄金的眼睛,只能被财富和机遇拒之 ...

  7. css中的transform,transition,translate的关系

    transform 旋转(transform是没有动画效果,你改变了它的值,元素的样子就唰的改变了.其中的位移的函数名就叫translate,所以说,translate是transform的一部分.) ...

  8. SpringBoot文件上传与POI的使用

    1.使用springboot上传文件 本文所要源码在一个项目中,源码:https://github.com/zhongyushi-git/springboot-upload-download.git. ...

  9. 微信的两种access_token总结,不能混淆

    大家需要弄清楚微信的网页授权token和公众号api调用授权token. 1.网页授权access_token 1.有效期:7200ms 2.微信网页授权是通过OAuth2.0机制实现的,在用户授权给 ...

  10. molloc堆区的动态内存分配

    [前言]前面有一篇文章介绍了堆区栈区的区别.栈区的核心主要集中在操作一个栈结构,一般由操作系统维护.堆区,主要是我们程序员来维护,核心就是动态内存分配. 这篇笔记结束就不在高新CSAPP的读书笔记了, ...