问题标签 [google-blockly]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
601 浏览

angular - “typeof Blockly”类型上不存在属性“JavaScript”

我将 Google“Blockly”库集成到 Angular 项目中,但是当我想将工作区的元素转换为 javascript 代码时出现以下错误。我使用香草脚本在同一个库中做了一个例子,没有问题。我想知道您是否有任何解决此错误的建议,谢谢。

在此处输入图像描述

使用 vanilla 脚本的演示

我的组件代码:

0 投票
1 回答
424 浏览

javascript - Blockly:代码生成期间对子块的类型检查

我正在尝试从可以对 JavaScript 具有任何输入类型的块生成代码。但要这样做,我需要知道这些块在生成期间是什么类型。

大多数块内部已经有一个类型用于类型检查

或者

但我找不到访问“输出”字段的函数。

理想情况下,我想像这样访问生成器函数中的类型:

有“.type”字段,但该字段给出了块类型的名称,而不是输出定义的返回值。

这似乎是一个非常普遍的问题,但我在网上找不到任何东西。

0 投票
1 回答
77 浏览

blockly - 我们如何以块状创建树视图工具箱,如图像中的任何示例代码或需要文档指南

左图中是工具箱,当我们选择工具箱中的选项时,它会在工作区中打开一个弹出窗口,因为在右侧无法理解文档中的程序需要帮助使用 html javascript 集成它

0 投票
0 回答
249 浏览

javascript - 如何切换 Blockly 工具箱

我正在制作一个基于网络的编码游戏,所以我使用 blockly,这样孩子们就可以拖放来编写他们的游戏。我能够使用自己的 JavaScript 和 CSS 在编辑器上自定义一些东西。但我想要切换工具箱的功能,所以会有更多的空间来查看块。

我试着像这样用 JavaScript 隐藏工具箱。

但问题是每当我将一个块拖到它被移除的那个空白空间时。有什么办法可以告诉块不要删除拖到工具箱上的块?

块状工具箱图像

0 投票
2 回答
42 浏览

javascript - 监视组件内部 jQuery 完成的变量更改

我知道这不是最佳的,但我有常规的 javascript 代码更改我组件中的属性变量。

这样做的原因是我的eval组件中有动态 javascript(来自 Google Blockly)正在运行 ()。

这是组件模板:

以及组件代码:

当我maxValue从 Angular 更改时,我确实触发了 setter 代码。但是当 jQuery 执行此操作时,不会触发该设置器。

IE:

我已经尝试在“区域内”执行代码,认为这将使 Angular 保持最新:

也不会触发设置器。有什么方法可以做到这一点?

0 投票
0 回答
101 浏览

javascript - 在渲染自定义块时执行的 Google Blockly 回调函数

我们已将 Blockly 从版本 1 升级到 3.20191014。

在旧的 Blockly 中,加载块时不会执行回调函数,但在新的 Blockly 中,会在加载时执行回调函数。因此,我的代码与之前的工作方式不同。

例如:

在上面的代码中,updateShapeByAttribute_调用并没有在旧的 Blockly 中执行,而是在加载时在新的 Blockly 中执行。

有什么建议么?

0 投票
1 回答
121 浏览

blockly - 在 Angular 应用程序中找不到 Blockly Generator 功能

我正在尝试使用 Angular 构建一个 Blockly 应用程序。我使用 npm 安装了 Blockly。我还在 angular.json 中添加了以下脚本

虽然我可以使用import * as Blockly from 'blockly'在应用程序中导入块并使用其他功能,但我无法找到生成器功能,如Blockly.Python['text_indexOf']

我正在使用块状:^3.20200625.2@angular/cli: ~9.1.0版本。

我是不是错过了什么。谁能帮我解决这个问题?

0 投票
2 回答
736 浏览

blockly - 如何从 Blockly 中的 input_statement 获取语句堆栈?

所以这是有问题的块

截屏

它用于函数的局部定义。

'Define' arg 包含许多函数和变量定义块。问题是如果我尝试访问定义,无论我做什么,我都只能得到堆栈中的第一个块。

我尝试使用 statementToCode 和 BlockToCode 直接调用它

我试图做一个 for 循环,但 DEFINE0、DEFINE1 等不存在。

那么,您如何真正获得在 DEFINE 字段中堆叠的块?

编辑:我检查了 block.getChildren().length 并且它总是 2(所以表达式 + 定义)这意味着,正如预期的那样,定义列表嵌套在第一个孩子中。

另一个问题可能是定义列表是函数定义,即它们产生如下代码:

Which means they have no return value. But I should still be able to invoke them all. When I do use statementToCode or similar I DO get the first of the definitions (in the image function local-definition) but not the rest. I swapped them around and it was always the first one that had code generated.

So I really don't see the issue. In other examples they do virtually nothing but

so why does this not work here?

0 投票
1 回答
323 浏览

blockly - 为什么 Blockly 不为自定义块生成代码?

在块中为自定义块生成代码时,我收到错误

登录控制台时。

以下是创建块的代码

代码生成代码是

该块在 UI 中可见。此外,代码会为 blockly 中存在的默认块生成代码,但会显示自定义块的错误。

谁能帮我这个

0 投票
1 回答
498 浏览

flutter - 在 Flutter 中实现 Blockly 小部件

我是 Flutter 的新手,我正在尝试将 Blockly 添加到 Flutter 中,用于儿童应用程序。我希望能够使用 Blockly 将一些代码编程到 Flutter 应用程序中,实际上我正在尝试在 Blockly 小部件内创建一条路线,在该小部件中,孩子可以通过 Blockly 编写一些简单的程序,这些程序由 Flutter 使用应用程序做某事。