跳转至

EIM Trigger

插件介绍

通过 extension_eim_trigger 插件,Scratcher 可以轻松使用 Python 拓展 Scratch 的能力。

extension_eim_trigger 通过调用 ~/codelab_adapter/extensions/eim_trigger.py 脚本,往 Scratch 发送消息。 我们将其称为消息的触发机制( trigger )。

默认的脚本,每隔 1s,往 Scratch 中发送一次时间戳,脚本源码(简单的 Python 代码)为:

import time

def trigger():
    timestamp = time.time()
    time.sleep(1)
    return timestamp

你可以随意修改 trigger 脚本代码,往 Scratch 中发送任意数据。

依赖

  • 安装CodeLab Adapter
  • 安装Chrome 浏览器
    • 目前 Scratch 官方团队在陆续支持更多浏览器版本,现阶段使用 Firefox/Chrome 浏览器效果最佳.
    • 建议将其设为默认浏览器.

步骤 1:打开 Codelab Adapter

双击打开 Codelab Adapter。

Codelab Adapter 启动之后,将打开默认浏览器。

步骤 2:打开 Codelab Scratch3

点击 Web UI 上的scratch3链接, 或者点击这儿, 将打开如下页面:

图中箭头所指的小圆点呈现绿色 说明 Codelab Adapter 与 Scratch3.0 的连接正常。

步骤 3:加载 extension_eim_trigger 插件

在 Web UI 中点击加载 extension_eim_trigger 插件

步骤 4:hello world

开启 extension_eim_trigger 插件后

选择对应的 Scratch3 插件:EIM

让 Scratch3 的角色读出每秒更新一次的时间戳:

步骤 5:自定义 eim_trigger 逻辑

默认的逻辑是 每秒更新一次时间戳,相应代码为:

import time

def trigger():
    timestamp = time.time()
    time.sleep(1)
    return timestamp

运行 extension_eim_trigger 插件后, trigger 函数会被重复调用,通过修改 trigger 函数的返回值,可以让 Scratch 中发送任意数据。

Help

如何找到 eim_trigger.py 文件? ~/codelab_adapter/extensions/eim_trigger.py

其他用例

import time
i = 0
def trigger():
    global i
    i += 1
    time.sleep(1)
    return i

参考