1. Workspace工作空间
上文Blockly简述中已经描述Workspace的表现形式,由分类区、积木区、脚本区组成,Blockly内部的操作以Workspace为核心。所有的操作都是基于Workspace的,譬如Blockly的blocks的注入,事件的响应,积木组的执行等。
Workspace使用
将Blockly放入网页的最简单方法是将其注入空的“div”标签。首先,包括核心Blockly脚本和核心Blocks模积木。引入js路径可能会有所不同,具体取决于您的网页与Blockly文件的位置:
然后包含用户语言的脚本(在本例中为英语):
在html页面正文的某处添加一个空div并设置其大小,固定大小的工作空间:
在页面的任何位置添加工具工具箱的结构(请参阅Toolbox工具箱定义):
最后,调用以下命令将Blockly注入空div。此脚本应位于页面底部,或由onload事件调用。
可变大小工作空间
上面定义了一个固定大小的Workspace,如何将Web应用程序按照屏幕上的可用空间调整Blockly的大小,而不是固定大小呢?将blocklyDiv元素放在blocklyArea元素上。为此,从blocklyDiv中删除任何高度和宽度样式并添加绝对定位:
Grid
spacing、length、colour、snap分别定义格子Grid样式。
var workspace = Blockly.inject('blocklyDiv', {toolbox: document.getElementById('toolbox'), grid: { spacing: 20, length: 3, co