问题标签 [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 投票
2 回答
86 浏览

blockly - Blockly - build.py 在不同的计算机上没有产生一致的结果

我正在做一个 Blockly 项目。

我刚换了电脑。

当我在新计算机上运行 build.py 来压缩文件时,它会生成一个不起作用的 blocks_compressed.js 版本。当我尝试使用它时,我的块都没有显示,因为它认为颜色属性设置为未定义的变量。

在我的旧电脑上,我可以生成一个可以正常工作的 blocks_compressed。

我将整个 blocks 目录从旧计算机复制到新计算机,但仍然得到不同的结果。

当我打开文件时,它们的行数似乎相同,但行的顺序不同。就好像块目录中的文件在两台计算机上的处理方式不同。

我正在使用相同版本的closure_library。

任何人都可以就我为什么会看到这些不同的结果提出建议吗?

0 投票
1 回答
829 浏览

typescript - 我无法让 Blockly 在 Angular 中工作:如何使其工作?

我想在 Angular 7 中导入 Blockly,我在 angular.json 中导入了一些 Blockly 文件:

之后,我将我的块状 div 放在我的 app.component.html 中:

为了完成,我已经通过以下链接编写了我的块:https ://groups.google.com/forum/#!topic/blockly/bQHtXnt_6MY

我有一个大错误: Blockly 没有定义。如何 ?提前致谢。热雷米

0 投票
2 回答
273 浏览

blockly - 如何在节点上获取最新的块版本

我已经使用以下命令在 Node 上安装了 Blockly

npm 安装块

它已安装,但其旧版本 1.0.0 于 2016 年发布。我将如何在 Node.js 上获得最新版本的 blockly。请任何人发布要做什么或如何安装

注意:我可以通过 explorer 直接在节点模块上粘贴最新代码吗?

0 投票
1 回答
734 浏览

javascript - 将 API 调用添加到 JS 解释器以与自定义块块一起使用

我想先说我是 JavaScript 的新手,而且肯定是使用 Neil Fraser JS-interpreter。

我制作了一些自定义块来简单地创建 JavaScript,当 eval() 将其块类型的对象和用户输入放入数组时。

他们用来执行此操作的函数称为 pushInstruction(blockName, inputs); 其中inputs 是用户输入的block 数组,blockName 是block 的名称。

现在我正在尝试使用 JS 解释器,但问题在于我如何使用这些块。

我迫切需要帮助,而且我一生都找不到任何资源来帮助我。这可能是一件愚蠢的事情。

自定义块代码

我有一个全局数组来保存对象

然后在此函数中使用它,其中是块生成要使用的代码的函数。

步骤代码

这是在按下步骤按钮时运行的代码

初始化API函数

这是我不断得到的地方

未捕获的 TypeError:Interpreter.setProperty 不是函数

在线上

Interpreter.setProperty(scope, 'pushInstruction', interpreter.createNativeFunction(wrapper));

感谢您花时间阅读本文,非常感谢!

0 投票
1 回答
919 浏览

javascript - 如何在运行时查看变量的值而不是添加时的值

我们正在使用 blockly 来控制移相器游戏,并且设置它以便使用游戏中的自定义变量(例如游戏中元素的速度或方向)进行 if 语句。

我们遇到的问题是,当变量添加到 if 语句(从工具箱中拖出)时,块读取这些变量的值,而不是它们在运行时的值,这可能已被物理引擎更改游戏。

例如:

这将返回从工具箱将块添加到代码堆栈时的速度值。我们希望它在代码实际运行时返回速度值。

我们尝试为它们创建自定义解释器,但似乎这些解释器的目的只是为了运行自定义函数,而不是返回自定义变量。

我们尝试对变量使用 getter 函数并在定义函数中返回它

它根本没有触发,声明根本没有评估......或者至少,看起来就是这样

我们如何才能在运行时分块地读取变量的值?

0 投票
1 回答
233 浏览

blockly - 防止 Blockly 工具箱被缩放

在工作区上放大和缩小时,工具箱也会缩放,这会导致块的大小增加/减小。

有没有办法阻止缩放工具箱及其块,但仍然允许缩放工作区?

0 投票
1 回答
139 浏览

javascript - 将用户给定的文本附加到块中

我正在从 blockly 中搜索一种方法,该方法将从模式弹出窗口中给出的用户输入文本带入块中。

你能帮我解决这个问题吗?谢谢

0 投票
1 回答
545 浏览

javascript - 如何使自定义块形状成块?

我正在尝试更改块状(https://developers.google.com/blockly/)中块的形状,使其看起来更类似于从头开始 3

0 投票
1 回答
76 浏览

blockly - Blockly如何防止连接块分裂

在我的 toolbox.xml 中,我通过连接多个块创建了一个自定义块,例如

在这种特定情况下,列表块与 my_custom_type 块结合在一起。

用户将这个新块拖到工作区后,如何防止他从原始“my_custom_type”块中删除“list”块?目前,他可以通过单击“列表”块来做到这一点,这使他可以单独获取该部分。

0 投票
0 回答
61 浏览

angular - Angular 库中的依赖注入是如何工作的

我使用 angular 创建了一个库,其中包含了 Blockly 库。

当我将我的库打包为 .tgz 文件并安装在另一个应用程序中时,我无法访问 blockly,我需要再次安装 blockly 并在 angular.json 中提供参考

在我读过的一些文章中,他们说要在库 package.json 中的 peerdependency 中提供参考,例如

但它不起作用。

如何在库本身中包含我对 blockly 的引用并作为单个包使用。