之前在帮朋友搜集少儿编程教育资料的时候,发现了麻省理工开发的积木式编程语言的Scratch,最近有空玩了下,感觉很惊艳,我能想象用它做一些有趣的事情,Scratch把编程元素变成像乐高积木一样,可以通过简单拖放组合来实现逻辑,交互体验很不错,很容易就能实现一些简单的动画控制,在实现复杂一些的逻辑的时候,搭积木的方式会显得繁琐,这个是编程模式的原因,不过相信会有很多聪明才智的解决方法,有时真想直接敲几行代码搞定。 Scatch最让我喜欢的是可以直接在web上运行,其官方社区搭建得很好, 可以看到来自世界各地朋友的作品,如果你感兴趣,甚至可以一探其作品内部积木结构的究竟。

我下载的时候新出了3.0的版本,由于我也是新接触,所以相较于2.0之前的变化,就不太了解了,我就从3.0开始玩,记录一些对Scatch的初印象:

1:和大部分的2D引擎一样,Scratch也有舞台和精灵的概念,舞台可以做不同的场景,精灵(sprite)就是舞台上活动的元素了。每个场景和精灵,都可以在其内部搭建积木来实现特定的逻辑,比如监听某个事情,触发某个动作。

2:Scratch提供了很多通用积木,有控制精灵的动作,外观,声音的,有设置事件的,有控制流程的(while, if...else...等等),有侦测碰撞的,有数学计算的,有设置变量的。有趣的地方在于积木有不同的形状和凹槽,用于识别其类型和接入其他积木,比如圆形的积木可以简单理解为变量,方尖的积木可以理解为条件,带上下凹槽的多是用于控制流程,可以互相上下拼接,只是有些积木没有上凹槽,说明只能用于开始,有些没有下凹槽,说明其后面不能再接其他积木。

3:每个精灵或场景都是可以带有多个积木组的,方便把不同的逻辑分开,不要让一个积木组太长。

4:每个精灵和场景自身都可以有多个帧,Scratch里叫做造型,用来表现不同的动作或者阶段,比如,可以用上图中右边的积木排列,来实现一个精灵的自身动画,记得加上等待时间的积木,不然循环速度太快,就看不到动作了:

5:使用变量积木,给程序添加变量来记录变化值,然后通过变量作为条件,可以实现许多基础的逻辑;

6:Scratch是支持离线开发的,有window和mac桌面版本,可以在本地开发,保存为.sb3的文件,然后可以导入到线上编辑器,反之亦然,这个可以实现一定程度的协同。

初次尝试,修改了一个追球的小游戏,增加了得分使场景的变化,每个场景的倒计时间会越来越短: Chase Ball II on Scratch

好奇与探索:

1:Scratch是可以在官网的web上运行的,我在想如何可以在自己的web上运行起来,是不是有提供什么插件或是js的解析组件。          

2:据说3.0可以支持移动设备,是否就是在移动设备上用web运行,还是说有装门的移动版本的运行app。

3:很有意思的是积木的扩展,除了基础的积木,我已经看到Scratch支持Lego的Mind Storms EV3, 我想会继续探索下去。

追加的疑问与已知的解答:

1:一个已经shared的项目,怎么进行修改,打开修改,重新导入后变成了一个新的项目。

2:如何给一个项目设置封面。

Scratch项目是以最新保存时的界面作为展示的封面的, 有两个解决方法,第一种简单的就是保存时选一个好的界面, 第二种就是专门去做一个封面,并确保程序开始的时候把这个封面隐藏掉即可。

初识Scratch 3.0的更多相关文章

  1. 介绍 Scratch 3.0:扩展编码创造力

    在过去十年中,全世界数百万儿童使用Scratch编写自己的互动游戏,故事,动画等. 这种磅礴的创造力激励我们继续扩展和改进Scratch,让世界各地的孩子都有新的机会用新技术创造性地表达自己. 今天, ...

  2. Scratch 3.0 版本比较

    新年伊始MIT 就正式 发布了Scratch最新3.0版 ,以 HTML5.0 为基础的版本! 本文就来带看看3.0版有哪些更新的地方. 下图是进入后第一个画面,跟Scratch 2.0 很像,熟悉的 ...

  3. Scratch 3.0,新在哪里?

    大家期待已久的Scratch 3.0,已经上线一段时间了. 学生们可轻松通过连接WeDo2.0和EV3机器人 进行scratch编程学习啦! 或许有些朋友还不太了解Scratch,没关系,小乐今天就为 ...

  4. Scratch编程:初识Scratch及编程工具安装(一)

    “ Scratch是一款由美国麻省理工学院(MIT)设计开发的少儿编程工具.” Scratch采用可视化.模块化的编程方式,非常适合青少年作为初次接触编程的工具和语言来学习,进而用其编写充满趣味的小程 ...

  5. 少儿编程 | 01.Scratch 3.0简介

    欢迎参加这套Scratch3.0少儿编程课程的学习.本系列课程将通过视频和图文的方式进行(视频制作中,后续会发布).如果喜欢本系列课程,欢迎点击订阅关注或者转发. 这是本系列课程的第一课,主要是给家长 ...

  6. 集群架构03·MySQL初识,mysql8.0环境安装,mysql多实例

    官方网址 https://dev.mysql.com/downloads/mysql/社区版本分析 MySQL5.5:默认存储引擎改为InnoDB,提高性能和可扩展性,增加半同步复制 MySQL5.6 ...

  7. 初识QuartusII 9.0(破解,半加器的仿真,综合:上)

    由于在意大利期间,用的xilinx公司的ZYBO板子,相应的软件用ISE,SDK.回国买了altera公司的板子,自然也要学习国内较流行的软件(TB大西瓜家,因此相关例程也是大部分引用他家).Quar ...

  8. 初识QuartusII 9.0(破解,半加器的仿真,综合:下)

    完成波形的随机设置(A,B任意给定高低电平即可,只是当作测试信号),选择任务栏Assignments[Setings],设置Simulation mode为functional,其余保持不变点击ok. ...

  9. 画一个秘密花园 | Scratch 3.0 艺术项目

    项目类型:艺术 难度指数:3.5颗星 适合年龄:9岁以上 角色个数:1 程序个数:1 学习时长:建议60min——90min 项目内容: 点击绿色旗子,音乐声响起.随后在舞台上点击一下,就出现一朵花, ...

随机推荐

  1. Centos7下安装pptp客户端

    1.使用yum安装ppp和pptp yum install ppp pptp 2.配置pptp pptpsetup --create vpn连接名称(自定义) --server VPN服务器IP -- ...

  2. mysql导入sql文件出错的一种解决方法

    转:https://blog.csdn.net/u011806486/article/details/60147358 本人在本地使用navicat for mysql可以连接到服务器数据库,但是从服 ...

  3. 尝试 Markdown 写测试用例

    我的原帖https://testerhome.com/topics/9412 大家都知道我们社区的帖子提倡用Markdown格式编写,正好项目进入稳定期,尝试用Markdown写下测试用例.有几个目的 ...

  4. Win10 使用MinGW-w64编译Tesseract4.0

    一开始尝试使用mingw+msys编译tesseract, 但是苦于mingw-get安装的软件版本都太旧,要安装新版本只能下载源码编译安装. 在编译过程中遇到了很多麻烦,最后还遇到了包直接循环依赖问 ...

  5. python request Payload 数据处理

    普通的http的post请求的请求content-type类型是:Content-Type:text/html; charset=UTF-8, 而另外一种形式request payload,其Cont ...

  6. MySQL按周统计 WEEK 实例

    MySQL按周统计每周数据总和,用到了WEEK,subdate,date_format,date_sub,date_add函数. WEEK() 查看给定日期周数,语法:WEEK(date, mode) ...

  7. docker 删除指令

    杀死所有正在运行的容器 docker kill $(docker ps -a -q) 删除所有已经停止的容器 docker rm $(docker ps -a -q) 删除所有未打 dangling ...

  8. 如何避免在IE内核时,按BackSpace时进行网页会进行回退

    //解决在IE浏览器中input被设置成readonly时,点击Backspace时会出现网页回退 document.onkeydown = check; function check(e) { va ...

  9. 在chrome console中添加jQuery

    由于现有seajs等封装,jQuery等已不在全局暴露,即使网站中已使用jQuery,在console也使用不了. 在chrome中可以用以下代码加入jQuery: fetch('http://cod ...

  10. MyPubMedID

    MyPubMedID是北京同舟云信息技术公司全新开发的新一代生物医学文献检索与分析平台. 该平台对PubMed全部内容进行重新清洗.组织.挖掘和开发,在完全消除PubMed检索歧义的同时,能够保证检索 ...