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