以下内容可能需要一点点Scratch经验,不要担心,信息课上学的那些就够了。
还记得我在上一篇关于Scratch的文章中提到有一些开发者正在致力于扩展Scratch的能力吗?而我们也可以使用这些平台。其中一个就是Codelab Adapter。它可以让我们以任何我们想得到的方式来扩展Scratch的能力,比如使用Python连接Scratch等。(当然,除了Python它也支持其他的语言,你可以访问Codelab Adapter的网站来了解更多)
Codelab Adapter以及开发它的组织Codelab。Codelab是一个比较小的非营利性的组织,有许多好的理念。
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
即使你不会编程或不知所云,我也强烈建议你点开上面的链接看一看一些好玩的例子。我也贴了一些在下面
以上的所有视频都引用自演示视频-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。
然后你就可以愉快地使用它了。
关闭Adapter
必须要提一句如何关闭它,因为我第一次就折腾了好久。点Web UI上的Exit之后,若出现一个加载的页面,它就是已经关闭了。此时关闭标签页就好。
如果不这样做,而是直接关闭标签页,Adapter就会重新打开一个标签页作为Web UI。
Adapter架构
对它的实现原理不是很感兴趣的同学可以直接跳过这一部分。
架构-Codelab Adapter和更加详细的为Scratch3.0设计的插件系统(下篇)
从这张图中我们可以看到核心是Codelab Adapter,而Scratch3和Python等通过各种方式与他连接。
这带来一个很好的现象——健壮性。即使你删除了它的插件目录或是随意篡改改变它的插件,导致若干问题。只要你删除掉插件目录(不是软件),再次打开软件,就可以得到一个完好的Adapter了。
使用Codelab Adapter和Scratch
这时你就可以看看Adapter网站上的文档了。里面写的很清楚。如果还有问题,可以去找开发者(开发者人超好,会给你解答问题的)。
其他
和Codelab有很强联系的一个社区FutureOfCoding。
One reply on “使用Codelab-Adapter扩展Scratch”
哈哈 CodeLab 确实是 比较小的非营利性的组织 :)
赞Liked by 2 people