问题标签 [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.
javascript - 在函数中调用函数
我有一种情况,我从 Blockly 组件中生成代码。生成的代码将具有我要调用的函数。根据Blockly“生成和运行 JavaScript”文档,我应该使用eval()
.
当我在 MSDN 上查找时eval()
,我得到了一个我应该“从不使用 eval”并Function
改用的部分。
以下是代码输出的一些示例代码:
我想onExecute
从code
变量中调用函数,但我不知道该怎么做?
实现我想要的结果的最佳方法是什么。
javascript - 如何在 Scratch/Blockly 中更改块的形状?
我正在尝试更改 Scratch 中块的形状和颜色。为此,我正在尝试修改暂存块的 GitHub 存储库(https://github.com/LLK/scratch-blocks)。
尽管我不这么认为,但我必须更改的存储库是 scratch-gui 的 GitHub 存储库(https://github.com/LLK/scratch-gui )的可能性很小。
有没有人这样做过并且可以告诉我要重写哪个文件/文件夹?
javascript - 检测何时停止拖动块
当用户停止拖动块时,我想触发一个功能。但它似乎只支持块创建/删除/移动和更改事件检测,有没有办法做到这一点?
javascript - Blockly Mutator 变量未更新
我正在尝试制作一个 Mutator 以允许使用一组用户指定的属性创建对象。我想要一些类似于函数的 mutator 的东西,您可以在其中添加另一个参数,它会更新参数名称。
目前,我的代码正在验证名称并自动生成新的属性名称,但是 mutator 块不会更新文本,这意味着它与我设置为的原始文本(在本例中为属性 0)卡住了。从此处拖动新块时,新块以非冲突方式正确标记。谁能帮我让 mutator UI 更新值?
这看起来像的一个例子是here。一个新的且正确标记的块已从 mutator 的冲突“property0”块中拖出。用户可以编辑此块,但如前所述,拖走新块时该值不会自动更新。
我的 mutator 块代码如下
javascript - 以下语句的块状征用代码生成
我怎样才能制作一个可以编译的块来包装它后面的所有块?
这是我要制作的块的示例:
我想编写创建输出的生成器:
我想到了两种可能的解决方案:
我的想法1
伪 C 块生成器应该做普通 C 块生成器所做的事情。
- 获取所有后续块的转译。
- 防止 Blockly 自动转换以下块本身。
我已经看过 1 使用block.nextConnection.targetBlock()
and Blockly.JavaScript.blockToCode
。这样循环不方便,第二点我也没想好怎么解决。
第二点是因为我不想要像这样的输出
我的想法2
为伪 C 块创建自定义样式。它确实有一个 input_statement 参数,但 input_statement 对用户是不可见的,而是附加到伪 C 块底部的任何块实际上都附加到该 input_statement
不幸的是,我不知道如何做到这一点。
请有人能指出我正确的方向吗?
blockly - 当我在 Blockly 中将任何 custom_block 作为 setcheck("position") 中的类型传递时,set Check 方法在语句输入中不起作用
在上面的这个块(轨迹)中,我只想连接其 statementInput 中的“位置”块,因为我还添加了 setCheck 方法。但尽管如此,每个块都在连接(那些具有 previousStatement = true 的块)。
我不能把签到位置的块放在前面的语句,因为位置块可以与其他块连接
flyout - 块状弹出滚动条
Blockly 的弹出窗口有两个问题。
- 当我关闭浮出控件时,浮出控件的滚动条不会被删除,它会停留并在拖动的元素上方出现一条线(半透明线)。
- 我在分屏(水平分割)中使用分屏(水平分割)和角分割库,但如果底部屏幕越过它,弹出滚动条将不起作用,并且我无法访问其他弹出选项,直到我展开分割屏幕。因此,滚动在带有分屏的弹出窗口中不起作用。
blockly - 如何使用blockly事件实现多人合作!
我已经阅读了 blockly 的文档,我知道我可以通过
这两个功能。所以我可以获得许多类型的块事件,但是我怎样才能使用这些事件来创建一个块。
所以情况是客户端A从服务器获取block事件,A需要使用这些事件来创建block。
那么如何做到这一点呢?有人知道吗?
blockly - 在 Blockly 中移除用户拖动的所有块
我正在为一个项目使用 Blockly 库。我想在按下重置按钮时删除用户从工具箱中拖动的所有块。
有人可以帮助如何做到这一点。我必须使用哪个功能?
javascript - 在 Web 应用程序上创建 Blockly 迷宫
我希望在网络应用程序上重新创建 (Google) Blockly Maze 界面。我查看了 Blockly 文档,他们有 Music-Maker 游戏的步骤。迷宫环境是否也有一个最小的例子?我在网上也找不到任何教程。