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

javascript - Google Blockly 更新输入类型

我目前正在尝试在我的项目中使用 Google Blockly(可视化代码编辑器)。下面的示例显示了一个带有多个输入的“块”。我想要做的是,让一个块根据下拉字段选择向自身添加另一个输入。这可行,但输入总是换行。我可以将其设置为内联,但我不喜欢那样的外观。你知道如何实现吗?

提前致谢,

克里斯达

代码:

0 投票
3 回答
1558 浏览

javascript - JS 在生成的函数中等待/暂停

我在做什么

我正在使用 Blockly 构建一个海龟图形应用程序。用户可以从块构建代码,然后 Blockly 引擎生成 JS 代码,将其绘制到画布上。

我的问题是什么

Blockly 引擎生成 JS 代码,但将其作为字符串返回,我必须将eval()其绘制到画布上。

我可以更改块的代码以生成不同的输出,但重要的是要使其尽可能简单,因为用户可以阅读块输入背后的实际代码。所以我不想把它搞砸。

我想做什么

我可以完全控制原子操作(goturn等),所以我想在函数的开头插入一小段代码,这会延迟函数其余部分的执行。就像是:

我认为它应该是同步的,它可以保持执行流程的延迟。我尝试使用setTimeout(async,fail),a promise(fail),循环中的时间戳检查(fail)。

在JS中甚至可能吗?

0 投票
3 回答
3237 浏览

javascript - Node.js 上的 Blockly

我想在 Node.js 上分块运行并使代码直接在服务器上执行(包括逐块执行),而无需先保存 XML 然后在后台运行它;我已经尝试了 npm 上的一些模块,但它们都没有做我想要的,或者它只是运行一个预先生成的 XML。

任何想法?

0 投票
1 回答
788 浏览

javascript - 将自定义 Blockly 块嵌套到循环中并生成代码

我是块新手,我正在玩创建自定义块。

我在 blocks 文件夹中创建了一个新文件 (move.js),并在那里创建了一些自定义块。它们都具有相似的结构,如下图所示

然后我在 generators/javascript 文件夹中创建了一个新文件(move.js),并在那里为块编写了非常简单的生成器(它们只返回一个字母)。

这些块可以正常工作并返回它们在堆叠外部循环时应该显示的文本。但是当我将它们嵌套在一个重复或一个while循环中时,会发生一些事情并且没有任何返回。我做了一些测试,我认为问题发生在

在我的自定义块的重复生成器中调用。

0 投票
1 回答
2188 浏览

c++ - C++ 项目中的 Blockly 编辑器

我正在开发一款游戏,玩家编写一些基本的人工智能来“代替”他。因此,用户编写的算法必须在保存后立即可执行。

该游戏是使用 Qt 框架用 C++ 编写的。

我不想用编程来吓唬玩家,所以我想为他们提供一些简单的拖放式可视化编程编辑器(就像在这个CodeSpells 游戏中一样)。Blockly看起来正是我想要的,因为它可以生成可以在 C++ 代码中使用/执行的 Lua 脚本(我需要了解更多相关信息,但这不是针对这个问题的)。

我不知道如何在 C++ 中创建/集成这个编辑器。他们的文档只涉及 web、android 和 ios。

所以我的问题是:如何将 Blockly 编辑器集成到 C++ 项目中?

编辑 :

我写信给 CodeSpells 开发人员。这是答案的重要部分:

"对于 CodeSpells,我们使用了一个名为 CoherentUI 的产品——它是用于 Unity。对于后续项目,我们一直在使用更便宜的 Unity 产品:https ://www.assetstore.unity3d.com/en/#!/content/ 55459 "

Blockly 编辑器可以使用嵌入式浏览器集成到 Qt C++ 项目中吗?例如像这样?(我从未使用过它)

0 投票
1 回答
2855 浏览

javascript - 在 WPF WebBrowser 中使用 Blockly

是否可以在 WPF WebBrowser 中使用 Blockly google javascript 库?

特别是 Blockly 需要几个 js 脚本。我们如何引用 js 库?

0 投票
1 回答
1207 浏览

blockly - 在代码中创建块连接到块

我已经实现了一个上下文菜单处理程序,它向工作区添加了一个块。我正在尝试在调用上下文菜单的块和可能已经连接到它的任何块之间添加块( previousConnection )。我正在拍摄的内容以及我拥有的代码以及它的作用......

之前 之后

0 投票
0 回答
665 浏览

javascript - 在 React 中包含本地 JS 客户端库

我正在尝试在反应应用程序中使用谷歌块。根据我看到的示例,我需要使用脚本标记在页面上包含一个 JS 库。我似乎无法弄清楚如何在反应中做到这一点,即使它应该很简单。

我可以使用脚本标签包含来自 CDN 的脚本,这没问题。但是我拥有的 JS 库是我的应用程序本地的。我怎样才能包括它?

根文件夹结构: 在此处输入图像描述

src 文件夹:

在此处输入图像描述

0 投票
0 回答
243 浏览

javascript - Blockly 的角度变量

我有带有文本输入的 Blockly 块

在我的起始块中,我想将文本输入设置为角度变量。但是现在,它说我的变量是{{var}}并且它的计算结果是output.

当前发生的是,该块最初显示output,但如果我将其评估为代码或单击文本输入,它会恢复为显示{{var}}在文本输入中。

有人可以解释为什么会这样吗?这是相关代码;启动块:

我从 GET 收到 pageInfo:

0 投票
1 回答
85 浏览

javascript - 无法在 Blockly 中添加 FieldVariable

我正在尝试将 foreach 循环放入我的 Web 块状界面,但收到奇怪的错误消息。当块尝试加载时,它会显示 TypeError(TypeError:Blockly.Msg.DELETE_VARIABLE 未定义[了解更多])。当我为每个循环删除 FieldVariable 时,这个错误就消失了。但我需要一些变量。您对如何使用 Blockly 为每个循环创建我自己的循环并避免这些错误有任何见解。

这是代码:

谢谢