分类
站外 技术 作品

使用Codelab-Adapter扩展Scratch

以下内容可能需要一点点Scratch经验,不要担心,信息课上学的那些就够了。

还记得我在上一篇关于Scratch的文章中提到有一些开发者正在致力于扩展Scratch的能力吗?而我们也可以使用这些平台。其中一个就是Codelab Adapter。它可以让我们以任何我们想得到的方式来扩展Scratch的能力,比如使用Python连接Scratch等。(当然,除了Python它也支持其他的语言,你可以访问Codelab Adapter的网站来了解更多)

Codelab Adapter以及开发它的组织Codelab。Codelab是一个比较小的非营利性的组织,有许多好的理念。

Adapter一部分的Python Extension
Scratch被极大地扩展过的插件市场的一部分,而且你还可以自己添加!

Adapter插件

Adapter的插件可以分为3部分:Python Extension、Python Node和Scratch插件

  • Python Extension:不需要本地安装Python直接运行的插件
  • Python Node:扩展性更强,允许使用其他的库。
  • Scratch插件:很简单就可以使用的插件,有些可以视为Python Extension或是Node的前端

一些插件的例子:

  • EIM(Everything is Message):Scratch和Python通信的“桥梁”,允许用户扩展
  • Box 2D:之前提到过Mit Scratch社区中Griffpatch开发的2D物理引擎。不需要Python。
  • HCI(Human Computer Interaction):使用Scratch(以及后面的Python)来操控你电脑中的鼠标和键盘
  • 许许多多的硬件插件,我也没有这些插件,所以我也不清楚。但是功能很强大。有如Arduino、Bpi: Bit和Tello无人机等。
  • Wechat:基于Python Itchat的插件,很有意思,可惜许多账户被限制登陆网页版。如果你还是想做微信机器人的话可以看看之前python微信机器人今年我正在挖(也在填)の坑之二——聊天机器人两篇文章。
  • Python:可以直接执行Python代码。
  • Jupyterlab:浏览器端的Python编辑器。
  • Posenet:人的肢体五官等的识别。
  • FaceAPI:面部识别。
  • 许多物联网
  • … …

演示

你阅读到这里可能会问:这些都能干什么呀?/我不懂这些啊?那么你可以看看使用Codelab Adapter创造出的一些好玩的例子:演示视频-Codelab Adapter
即使你不会编程或不知所云,我也强烈建议你点开上面的链接看一看一些好玩的例子。我也贴了一些在下面

饥饿的机器人
击掌奏乐,记得我们在课间也玩过这个,不过没这么智能; )
要有光
Leap motion和Physics Extension(我猜是box2d)
toio泡泡龙

以上的所有视频都引用自演示视频-Codelab Adapter

和你一样,我也对这些东西充满了惊叹与好奇,迫不及待地想要尝试Codelab Adapter Scratch。(如果我猜错了也别怪我,如果没有兴趣就可以关闭文章了,毕竟兴趣是爱好的驱动力)下面将和你一起安装Codelab Scratch。

安装Codelab Adapter

整个Codelab Scratch Adapter分为两个部分——Codelab Scratch和Codelab Adapter。Codelab Scratch和原版的Scratch没什么区别,除了它支持Adapter的连接和有一个大的软件市场。Adapter是核心。它包括了许多Python插件和部分Scratch插件的后台。它是一个十分小巧的软件,可以同时兼容Codelab Scratch的在线版和离线版。

目前Adapter可以运行在Windows和MacOS上。若要下载Adapter,进入Codelab下载页,找到CodeLab Adapter,再选择正确的版本下载(这是很小的一个下载-直接使用软件)。下载完成后,打开软件。Codelab Adaper会在默认浏览器打开Web UI。接下来打开Codelab Scratch,若如下图右上角是小绿灯而不是小红灯就代表他已经连接上了Adapter。

Codelab Scratch界面

然后你就可以愉快地使用它了。

关闭Adapter

必须要提一句如何关闭它,因为我第一次就折腾了好久。点Web UI上的Exit之后,若出现一个加载的页面,它就是已经关闭了。此时关闭标签页就好。

如果不这样做,而是直接关闭标签页,Adapter就会重新打开一个标签页作为Web UI。

Adapter架构

对它的实现原理不是很感兴趣的同学可以直接跳过这一部分。

架构-Codelab Adapter和更加详细的为Scratch3.0设计的插件系统(下篇)

从这张图中我们可以看到核心是Codelab Adapter,而Scratch3和Python等通过各种方式与他连接。

这带来一个很好的现象——健壮性。即使你删除了它的插件目录或是随意篡改改变它的插件,导致若干问题。只要你删除掉插件目录(不是软件),再次打开软件,就可以得到一个完好的Adapter了。

使用Codelab Adapter和Scratch

这时你就可以看看Adapter网站上的文档了。里面写的很清楚。如果还有问题,可以去找开发者(开发者人超好,会给你解答问题的)。

其他

Codelab Adapter以及Codelab

和Codelab有很强联系的一个社区FutureOfCoding

One reply on “使用Codelab-Adapter扩展Scratch”

留下评论