【问题标题】:Blockly editor in C++ projectC++ 项目中的 Blockly 编辑器
【发布时间】:2017-03-14 22:23:32
【问题描述】:

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

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

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

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

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

编辑:

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

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

Blockly 编辑器能否使用嵌入式浏览器集成到 Qt C++ 项目中?比如this? (我从未使用过它)

【问题讨论】:

  • Blockly 开发人员可能会在某个时候在这里闲逛并提供出色的答案,但您可以通过直接联系他们获得更快的回复。看起来他们也在寻找贡献者。可能很有趣。
  • Blockly 专为网络使用而设计。您最好的选择可能是找到不同的库或将整个项目移植到 C++(祝您好运!)
  • 啊,我讨厌人们对我的帖子投反对票而没有评论我做错了什么。无论如何,我写信给 CodeSpells 开发人员。这是答案的重要部分:“对于 CodeSpells,我们使用了一个名为 CoherentUI 的产品——它适用于 Unity。对于后续项目,我们一直在使用更便宜的 Unity 产品:assetstore.unity3d.com/en/#!/content/55459。所以也许this 可以回答我的问题。

标签: c++ qt lua blockly visual-programming


【解决方案1】:

因此,这可以使用嵌入式浏览器来完成。我在资源中保存了 Blockly 网络编辑器。然后我使用 QWebEngineView 从资源中显示编辑器。

这里是类似的tutorial

【讨论】:

  • 有趣!我一直在寻找一种方法来扩展 Scratch 和新的 Blockly。那么它是如何存储程序的呢?它是您可以解析并转换为您的语言的文档格式吗?
  • 说实话我真的不知道。这是两年多以前的事了,我什至没有使用这个解决方案,因为它真的很慢。我最终编写了自己的“可视化编程语言”。
猜你喜欢
  • 2015-07-17
  • 1970-01-01
  • 2020-03-30
  • 1970-01-01
  • 2018-04-22
  • 2020-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多