3. 自定义积木
虽然Blockly定义了许多标准积木,但大多数应用程序需要定义和实现至少一些域相关积木,这也是Scartch3.0 Blocks使用Blockly的原因,可扩展性强。 积木由三个部分组成: 积木定义对象:定义积木的外观和行为,包括文本,颜色,字段和连接。 添加积木到Toolbox:工具箱XML中对积木类型的引用,因此用户可以将其添加到工作区。 添加积木代码:生成此积木的代码字符串。它是用JavaScript编写的,即使目标语言不是JavaScript,甚至是用于Android端的Blockly。
积木定义
用于Web加载的Blockly通过脚本文件加载积木。在“blocks/”目录中包含几个标准积木的示例。假设您的积木不适合现有分类,需要创建一个新的JavaScript文件。这个新的JavaScript文件需要包含在编辑器HTML文件的script标签列表中。
注意:大多数积木都可以使用Blockly Developer Tools定义,而不是手动创建下面的代码。
典型的积木定义如下所示,Json语言版本:
Blockly.Blocks['string_length'] = {
init: function() {
this.jsonInit({
"message0": 'length of %1',
"args0": [
{
"type": "input_value",
"name": "VALUE",<