API 参考概览
Bilup 由一组 JavaScript 包构建:scratch-vm(运行项目的引擎)、scratch-render(WebGL 渲染器)、scratch-blocks(积木编辑器)和 scratch-gui(将它们整合在一起并同时提供社区站点的 React 应用)。本节记录这些包暴露的程序化表面。
它面向高级用户、扩展作者以及在自己的页面中嵌入 Bilup 的人。如果您只想制作项目,您不需要这些。如果您想编写脚本控制运行中的项目、构建扩展或自己驱动 VM,从这里开始。
访问运行中的实例
编辑器或播放器打开时,scratch-gui 将两个对象放在 window 上用于调试和脚本编写:
window.vm是实时的VirtualMachine实例。VM 管理器挂载后设置一次(请参阅src/lib/components/vm-manager-hoc.jsx)。window.ReduxStore是应用的 Redux store(请参阅src/lib/components/app-state-hoc.jsx),对检查 GUI 状态很有用。
在编辑器上打开浏览器控制台并尝试:
// 运行当前项目的 VM
window.vm
// 启动项目,就像点击了绿旗
window.vm.greenFlag();
// 渲染器,如果已附加
window.vm.renderer
// 引擎运行时(目标、线程、积木、IO 设备)
window.vm.runtime
这些全局变量用于交互式使用。它们不是稳定的、带版本的 API,并且可能随构建而更改。扩展应该改用扩展 API,它会显式传递 Scratch.vm。