问题标签 [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 回答
254 浏览

jquery - jQuery Dialog 上的 Google Blockly UI 不可编辑

在 jQuery Dialog 中渲染 Blockly UI 时,它不允许编辑输入。

Jquery 对话框中的 Blockly UI

原因是 Blockly 向 DOM 添加一个 div,其输入字段如下所示:

但实际的 blocklyDiv 附加在 jQuery Dialog 下。直接附加到 html 正文的输入字段。

当我在 Dialog 中移动 blocklyWidgetDiv 时,它会在页面中的某个位置显示输入字段,而不是在确切的编辑器位置呈现。

在此处输入图像描述

0 投票
1 回答
316 浏览

javascript - 块替换精灵路径

我正在使用 blockly 来创建我的程序。我已经从这个 github 位置块下载,我正在尝试从这个位置替换块状图像路径:https://blockly-demo.appspot.com/static/media/sprites.png到这个(相对)位置:sprites.png。但我不知道该怎么做。

问题是:我可以在哪里设置这条路径?

这是我的页面代码(在 blockly 的根文件夹中):

抱歉英语不好。

0 投票
2 回答
586 浏览

blockly - 默认的块状块是什么?

文档显示了一些示例块的使用,但我找不到明确的列表。我找到了一个我想要的列表类型的要点,但它不是官方的。GitHub 存储库包含一组似乎实现默认值的 json文件。然后是blocks_compressed.js,但这肯定不意味着是可用的文档。有Wiki,但它并不完整。谢谢!

0 投票
1 回答
256 浏览

javascript - 如何使块状水平

我想制作一个像scratchjr这样的基于块的程序。我使用块状,但我不知道如何改变块的形状/方向;我想让块具有标志性和水平,就像这张图片: 在此处输入图像描述 问题是:如何改变块的形状和方向?

0 投票
0 回答
621 浏览

javascript - 清除 Blockly 工作区而不将项目移动到垃圾箱

我想使用代码来清除 Blockly 工作区,并在某些情况下用新的 Blockly XML 覆盖。然而,我面临的问题是Workspace.clear()将当前项目移动到垃圾箱,这在尝试重置工作区或用块覆盖它时可能会很烦人(这意味着首先清除它,否则当前块将被覆盖)。我发现我可以用 清除垃圾桶workspace.trashcan.contents = [],但这会导致盖子渲染出现一些意外行为,尽管盖子是空的,但盖子看起来有点半开着。

即使我能找到清除垃圾箱的方法,这仍然会导致清除其中所有以前的项目,而我所寻找的只是在不影响垃圾箱的情况下进行一次清除操作。我试过查看文档Workspace.Clear,但他们似乎没有给出任何语义方式来做到这一点。我也试过用 循环Workspace.getTopBlocks()Events.Delete但这也会导致将项目移动到垃圾桶。

我还尝试实施手动解决方案,类似于:

对于第一行,我也尝试过Object.assign([], workspace.trashcan.contents_)and workspace.trashcan.contents_.slice(),但在所有三种情况下(包括最上面的情况),最终结果都等同于简单地调用workspace.clear. 我猜这与 getter-setter 操作contentsBeforeClearing有关(因为如果您在清除后在控制台中测试变量的值更改以删除块),但如何解决这个问题超出了我的范围.

如何在不操作(不仅仅是重置)垃圾桶内容的情况下清除工作区?

0 投票
1 回答
237 浏览

javascript - 将 input_value 块限制到另一个块

在我的 Blockly 项目中,我有两个 3 blocksrcm_a和.rcm_brcm_c

如您所见rcm_c,我试图将第二个输入限制为 block rcm_b,这显然不起作用。相同的输入将不接受任何输入类型。这是rcm_b的代码:

我尝试按照本指南的 Statement Stacks 部分(我知道我正在尝试输入检查输入而不是语句)来实现类型检查。我究竟做错了什么?

非常感谢您的帮助!

0 投票
1 回答
702 浏览

javascript - Blockly - 如何更改“Change Variable by...”块生成的 JavaScript 代码

我正在开发一个 Blockly 项目,其中我将块中的数据作为 JavaScript 代码传递。我想更改从块输出的一些代码,使其对初学者更加友好。

可以通过编辑“generators/javascript”文件夹中的代码来更改块中的输出 JS 代码,但是标题为“Change by”(下图)的变量块似乎在generators/javascript/variables.js文件中没有生成器,但它仍然按原样生成代码,而不对文件进行任何更改variables.js

这

基本上,我希望能够编辑此“更改”块的代码输出,但是我目前找不到执行此操作的方法。任何帮助将不胜感激。

0 投票
0 回答
63 浏览

blockly - 块状文本中的自动完成

我刚刚开始进入块状。我已经看到您可以通过 js 弹出窗口向用户询问输入。有没有办法为用户提供更复杂的选择器,例如自动完成文本字段?目前,调用jquery并获取值应该足够了,例如

(这是一个例子,任何其他可用的 js 自动完成库都可以)

0 投票
1 回答
649 浏览

blockly - 如何通过 blockly 获取连接到我的自定义块的块的代码

每个人。

希望你一切顺利。

我已经使用块工厂创建了我的自定义块。

块定义的代码是

以及Generator stub的代码:

块是

堵塞

如何获取添加到此 button1 块的块的代码。

请指导我,我是 Blockly 的新手。

问候,湿婆

0 投票
1 回答
481 浏览

angular - 如何在 Angular 中实现这样的块状演示?

我已经在“blockly”中实现了这个演示,我也想在 Angular 中实现它。我一直在阅读官方文档,但没有找到太多关于此的内容,我也没有太多 Angular 经验。因此,如果您能帮助我,我将不胜感激。

下面是演示代码。

https://developers.google.com/blockly/guides/overview

在此处输入图像描述

在此处输入图像描述