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

javascript - blockly : 代码变量

我刚刚发现了“块状”,这正是我想要将我的 webApp 提升到一个新水平的东西。我遇到的问题是我真的不明白如何启动 python 或 js 代码变量。

这是我的块:

渲染是:

在此处输入图像描述

下拉列表内容:

在此处输入图像描述

我正在尝试做的事情:

如果选择了“温度”,那么我想在生成代码的开头初始化变量:

如果选择“湿度”也一样:

在我的“template.soy”文件中,我有这个:

希望我足够清楚...感谢您的帮助!

问候,

0 投票
1 回答
262 浏览

java - 功能 - 不同语言的不同含义?

我是一个非常新手的程序员,正在学习 Java 基础课程。在 Alice 3 中,函数被定义为:函数计算并回答关于对象的问题,例如,“它的宽度或高度是多少?”我之前使用过 Blockly,在 Blockly 中,函数似乎是别的东西 -更像是一个程序。有人可以帮忙吗?

0 投票
0 回答
453 浏览

blockly - 有没有办法将 Blockly Turtle 图形导出到 SVG?

我的孩子们在 Blockly 上玩得很开心,我想用我的 Shapeoko(数控铣床)铣削他们的一些图纸。如果我可以将 Blockly 渲染导出为 SVG,那么我可以将其导入任意数量的 CAD/CAM 包中。

但似乎没有任何简单的方法可以做到这一点。我正在考虑的当前路线是:

  1. 抓取图像的屏幕截图并使用 Inkscape 将其从光栅图像转换为 SVG。
  2. 将 Blockly 代码转换为使用 Python 的 turtle 模块。

我错过了什么吗?应该有更好的方法。

0 投票
2 回答
615 浏览

dart - 使用 Dart 中 Blockly 的 addChangeListener() 函数(js 互操作)

我一直在编写一些包装器代码来使用 dart:js 从 Dart 访问 Blockly API。一切都很顺利,直到我需要将一个函数传递给 JS 端的 Blockly 事件注册函数之一。

Blockly 中有问题的功能是addChangeListener()(请参阅https://developers.google.com/blockly/installation/code-generators)。它需要一个 0-arg 函数作为回调。所以我的目标是包装一个 Dart 函数,将其传递过来,并在事件触发时调用该函数。

在飞镖中:

当 Blockly 初始化时,我得到这个堆栈跟踪:

堆栈跟踪屏幕截图

我希望有人能指出我错过的一些明显的东西。

我有一种感觉,这可能与 blockly 在内部处理函数的方式有关,因为我尝试在 blockly 之外传递函数并且它工作正常。

0 投票
1 回答
1262 浏览

javascript - Blockly domToWorkspace 重置节点 ID

我正在使用 blockly 开发代码编辑器,我的页面目前有用于在块视图和代码视图之间切换的选项卡,有点像一些所见即所得的编辑器。现在,Blockly 已经有很多从块到代码的东西,而且我已经完成了 99% 的部分,以便我可以从代码到块(它涉及构建一堆块 xml)。我从代码视图转到块视图的调用如下所示:

问题是,无论我在我的 xml 节点中设置什么 id 属性,当我稍后尝试读取块 xml 时,都会覆盖它们。即使我正在清理工作区,它们似乎也在不断增加。这会导致我的自动保存功能出现问题,因为这意味着每次我从代码转到块时,我的 xml 都会发生变化,因此我的代码也会发生变化(生成的代码是一个图形结构,它也使用 id 字段来标识每个节点图中)。

所以,我的问题是,有谁知道如何防止 Blockly 覆盖我发送的节点 ID,或者有没有办法“重置”节点 ID?

0 投票
1 回答
967 浏览

javascript - 如何将“功能标签”添加到 Google 的 blockly

根据blockly自带的Demo,我们在生成代码的时候只有逻辑、循环、数学和文本选项。这里:https ://blockly-demo.appspot.com/static/demos/generator/index.html

由于文档提供的内容似乎很浅,如何添加函数和变量选项卡。文档:https ://developers.google.com/blockly/installation/code-generators

提前致谢!

0 投票
1 回答
1042 浏览

javascript - 如何在 Googles Blockly 中输出消息?

我在https://blockly-games.appspot.com上玩得很开心,并且已经到了 可以编写完整的 javascript的最后一个级别new Date().getTime();(非常方便)。

尽管在 Chrome (ctrl-shift-j) 中打开了控制台,但我似乎无法console.log("test");从游戏中向它写入任何内容。当我这样做时,我看到:

然而,如果我console.log("hmm");在控制台中输入,我会正确看到:

如果我尝试使用相同的故事alert("test")

我想调试,但我发现的唯一输出形式是操纵鸭子并抛出未知标识符。有没有办法摆脱这个沙盒?

更新:如何在 Google Chrome JavaScript 控制台中打印调试消息?有一些恢复控制台的想法,但在这种情况下它们似乎不起作用。

更新:只是要清楚,这是 chrome 在遇到此错误时的样子。

在此处输入图像描述

0 投票
1 回答
839 浏览

javascript - Blockly - 参考错误:未定义函数

我正在尝试使用 Blockly 来做“制作自己的游戏”之类的事情,并且在大多数情况下它都有效。但是,当尝试通过声明一个函数并调用它来运行生成的代码(由 Blockly 自己的预定义函数生成器)时,我总是被告知该函数没有定义,无论它是什么或它包含什么。

我正在抓取并运行代码,如下所示:

这就是演示在 Blockly 生成代码上提供的方式。我还在页面的其他地方附和了代码,它看起来对我来说是正确的:

这与 eval 的工作方式有关吗?我唯一能想到的是,由于某种原因,它正在“评估”功能代码,但没有将其添加为可调用的东西。如果是这种情况,是否有另一种方法可以运行 Blockly 给我的代码字符串?

0 投票
2 回答
558 浏览

blockly - 什么自动化工具可以用来自动化谷歌块代码?

最近我们在我们的应用程序中实现了谷歌块。我需要自动化 UI,但 selenium 不支持 Google blockly。

因此,请向我推荐一个用于 Google Blockly UI 的自动化工具。

0 投票
2 回答
3526 浏览

javascript - 如何在 Blockly 自定义块的 `onchange` 事件中获取值?

我正在为 Blockly 制作一个自定义块,需要验证输入。在这种情况onchange下,如果用户输入的输入值无效,我想警告他们。

这是我的块:

在此处输入图像描述

Blockly 开发者页面上,它有一个获取输入值的基本示例。undefined但是,每次onchange发生火灾时,我都会收到退货。

如何处理这些输入的验证?我不想为输入创建下拉列表,因为我需要能够从变量、int 块等输入。