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

angular - 块状自定义块中的未知块类型

我将它与 angular (ngx-blockly) 一起使用,我想创建自定义块,如 moveforward 等,所以我按照教程ngx-blockly中的所有步骤操作,但我不断收到关于块类型的错误,我没有找到有关块类型的信息,创建自己的块时是否有特定类型,就像在本教程中一样,错误是关于“测试”

这是错误在此处输入图像描述 ,这是我的自定义块代码

0 投票
0 回答
34 浏览

javascript - Blockly.Workspace 何时创建?

我正在尝试覆盖 Blockly API 中的某些函数。我正在使用 react 并使用 react-blockly 包。我正在覆盖工作区类。我的代码看起来与官方仓库中的完全一样,我将 createVariable 更改为如下所示:

如您所见,该函数正在使用 variableMap_ ,它在调用时被实例化Blockly.Workspace

当我运行时,我的代码Blockly.Workspace永远不会被调用并且variableMap_是未定义的。

当我在官方仓库中搜索 Blockly.Workspace 的位置时,我无法找到它被调用的位置:Blockly.Workspace

Workspace扩展Workspace__Class并且仅在压缩文件和workspace.js文件中提及。

所以我的问题是:什么时候被Blockly.Workspace调用和this.variableMap_实例化?

0 投票
1 回答
157 浏览

javascript - Blockly 在浏览器中不显示任何内容

我想批量自定义,但按照在线资源的说明进行操作后,我没有看到浏览器中出现任何内容。

这是示例代码:

如何让 Blockly 编辑器出现?

0 投票
0 回答
62 浏览

angular - 访问 Angular 中的块状工具箱类别

我开发了一个使用块状的角度应用程序。按照指南,我尝试访问工具箱中的一个类别,如下所示: var category = toolbox.getToolboxItemById('categoryId');

我的问题是我不能用角度写它,因为我按如下方式注入块:

当我编写工具箱时,它什么也找不到,如果我尝试将其写为:

它也给了我一个错误。

非常感谢你的帮助。

0 投票
0 回答
54 浏览

angular - 我可以在我的 Web 应用程序中使用带有 blockly 的程序创建作为变量控件吗?

我想使用 blockly(来自 Google)来轻松创建程序,我想使用 blockly 检查程序中变量的值(角度)并返回一个值来显示警告。示例:使用 Blockly,我创建了一个自定义块来检查可变速度,如果速度大于或小于预定值,则返回 0 或 1。我知道 blockly 创建 javascript 程序,但问题是:是否可以连接Blockly 的逻辑与我的角度组件中的一些内部变量?如果是,该怎么做?(我找到了一个例子,但我不知道如何连接到我的组件...... http://codedumpster.nithinbiliya.com/integrate-google-blockly-with-angular/

0 投票
1 回答
75 浏览

reactjs - Blocklys Textblock 输入字段在 Material-UI Modal 中时无法编辑

我只找到了https://groups.google.com/g/blockly/c/SDUosMpAFAk来解决我的问题,但它没有可以帮助我的答案,所以我创建了一个 Codesandbox 来重现该行为。

https://codesandbox.io/s/gallant-galois-bqjjb

Sandbox 中的按钮将打开一个带有 Blockly Canvas 的模式。试图在“text”或“math_number”块中写一些东西是行不通的,当你关闭模式时,通过外部点击,一些工件会留下来。

如果有人可以帮助我解决这个问题,我会很高兴。

编辑:如果 CodeSandbox 链接不起作用。

依赖项:

  • @material-ui/核心:4.12.3
  • @material-ui/样式:4.11.4
  • 块状:6.20210701.0 (6.20210701.0)
  • 反应:17.0.2
  • 反应域:17.0.2
  • 反应脚本:4.0.0
  • 反应使用:17.3.1

代码:

index.js

应用程序.js

BlocklyContainer.js

Blockly/index.js

块状/块状组件.js

样式.css

Blockly/BlocklyComponent.css

0 投票
0 回答
47 浏览

html - 如何在 H5p 语义中使用 HTML5 Canvas、P5.js 和 Blockly

我正在开发一款使用 P5.js 和 Blockly 构建的游戏。这是一个简单的游戏,它使用 Blockly 的指令(转换为 js)使用 P5.js(HTML 画布)完成屏幕上的任务。为了重复这一点,Blockly 代码的输出是使用 P5.js 库在 HTML 画布中生成的。

我的目标是将这款游戏转换为包含所有资产和游戏逻辑的可分发 H5p 包。我不确定如何处理这个问题。

如果需要更多信息,请告诉我。谢谢!

0 投票
0 回答
37 浏览

reactjs - 如何使用 React.Fragment 动态渲染 Blockly.Blocks

我正在使用 Blockly 并尝试使用 React.Fragment 动态呈现。在<React.Fragment></React.Fragment>.

我有一个数组 var blocks = []; .... blocks.push(<Block type="${blockName}" />);,我正在尝试将它们呈现在React.Fragment中,例如:

……

这不会渲染。 但是,如果我从数组中获取完全相同的内容并将其单独放入 React.Fragment 中,它将呈现。

为什么将项目单独放入但是当尝试使用array.map()内部生成它时不会渲染?

代码: