使用 CodeLab Adapter 可以轻松扩展 Scratch 的能力,甚至只需要 4 行 Python 代码。

让我们使用 4 行 Python 代码来扩展 Scratch 的能力, 做一个反转字符串的例子: 将来自 Scratch 的字符串反转后返回

1
2
3
4
5
6
7
8
# pip install "codelab_adapter_client>=2.0.2"
from codelab_adapter_client.utils import run_monitor, send_simple_message

def monitor(msg):
    return msg[::-1]

# send_simple_message("hello")
run_monitor(monitor)

运行以上代码(如果你是新手,推荐使用Mu editor上运行)(依赖见文末)。如果使用 CodeLab Adapter 内置的JupyrtLab编程,则所有依赖都已经就绪.

现在我们可以在 CodeLab 创作平台中与之交互。

主动发送消息

前边例子展示了,使用 Python 代码扩展 Scratch 的能力,你可以使用任何第三方库!

前头的例子是一种服务模式, 响应 Scratch 过来的消息。

另有一种模式也很常见: 主动发送信息。

可以使用 send_simple_message 做到这点:

1
2
3
4
5
6
7
import time
from codelab_adapter_client.utils import run_monitor, send_simple_message


while True:
    time.sleep(5)
    send_simple_message("hi")

以上代码每隔 5 秒钟给 Scratch 发送一条信息:

稍加调整可以做一个番茄钟报时器。主意这是主动通知。

提醒

mu的最新版本(1.1.0) 已经支持安装第三方库

如果你遇到pip 的ssl问题,可以将 ~/.pip/pip.conf修改为:

1
2
3
[global]
trusted-host=mirrors.aliyun.com
index-url=http://mirrors.aliyun.com/pypi/simple