配置块 - 添加自定义块

2018-02-07  本文已影响107人  mimimomo

title: 配置块 - 添加自定义块

Configure Blockly — Add Custom Blocks

原文地址:https://developers.google.com/blockly/guides/configure/android/add-custom-blocks

添加自定义块

块由三个组件组成:

  1. 工具箱引用:对工具箱XML中块类型的引用,因此用户可以将其添加到工作区。
  2. 生成器函数:生成此块的代码字符串。它总是用JavaScript编写,即使目标语言不是JavaScript。

虽然Blockly的Web版本也支持在JavaScript中以编程方式构建块定义对象,但Blockly for Android不支持此操作。

块定义


创建新块定义的最简单的方法是使用Blockly开发工具。Blockly Developer Tools.于Android版Blockly仅支持JSON格式的块定义,因此将工厂的“语言代码”设置为JSON.有关此格式的详细信息,请点击此处here。当使用AbstractBlocklyActivity时,块定义文件由getBlockDefinitionsJsonPaths()提供,它返回应用程序资产路径的列表。可以通过调用reloadBlockDefinitions()重新加载块定义。使用原始BlocklyController时,通过BlocklyController.addBlockDefinitions(..)方法之一添加块定义。
可以加载多个.json文件,但应确保块类型ID是唯一的。

添加工具箱参考


一旦系统知道你的新块,你也需要让你的用户知道。工具箱向用户显示可用的块。 Blockly使用与Web上的Blockly相同的XML工具箱定义文件,这里详述here

abstractBlocklyActivitygetToolboxContentsXmlPath()提供的.xml资源文件的内容填充工具箱,reloadToolbox()将重新加载工具箱(再次调用getToolboxContentsXmlPath())。

一般来说,大多数块应该包含在工具箱中,但有些可以省略。这可以用于支持已弃用的块,教授单个概念或隐藏当前无法使用的块。有关更多详细信息,请参阅填充工具箱Populate the Toolbox

添加生成器函数


最后,要将块转换为代码,请将块类型与JavaScript生成器函数配对。
有关详细信息,请参阅使用自定义生成器Use Custom Generators

上一篇下一篇

猜你喜欢

热点阅读