是否有任何HTML5画布实现嵌入到c++中
Are there any HTML5 Canvas implementations for embedding in c++
我正在制作一款基于浏览器的游戏atm,并且已经在考虑将其移植到其他平台(游戏邦注:如主机或不适合在网页浏览器上玩游戏的设备)。
游戏基本上都是通过2d画布上下文进行渲染的JavaScript。
我希望的是,已经有一个c++库/api,将与可能谷歌的v8引擎一起工作,以处理JavaScript中的画布调用,并渲染它们与opengl或类似的东西
有人知道有一个项目可能提供这个功能吗?
否则你会认为我如何去嵌入我的javascript在c++与javascript需要尽可能少的变化,因为我真的不想要保持太多的平台之间的差异?
Qt是一个非常好的c++库,与LGPL许可兼容,其中包括一个基于webkit的支持javascript的小部件。同样作为脚本语言,Qt使用javascript与c++紧密集成(编写c++类并使其在javascript级别可见很容易)。
Qt是多平台的,并带有一个高度复杂的IDE。
Qt目前没有使用V8,但移植正在进行中,他们的目标是提供一个100%向后兼容的解决方案。
Qt的唯一"问题"是:
- 它巨大的 它是一个框架,而不是一个库。你不能只是简单地"使用"Qt,你应该接受这个观点(然而文档的质量非常好)。
- 长期前景有点模糊(但不像几个月前那么糟糕)
我想我有点晚了,但我正在寻找一个类似的解决方案。我发现了node-canvas,我不知道挂钩它是否可行,因此它呈现为SDL或sfml管理的窗口之类的东西。
但出于我自己的目的,我将把我的代码移植到c++,并直接使用Cairo与SFML和OpenGL。
有趣的想法-另一种可能性是使用Adobe Air,并通过StageWebView和Flex 4渲染游戏。如果你感兴趣,这里有一些使用thing的示例代码:
https://github.com/JustinBeckwith/frink/blob/master/frink-flex/src/controls/WebBrowser.as一个有趣的项目,我使用id FireBreath(firebreath.org)。这并不完全是你想要的,但在某些方面它会让你接近。Firebreath允许在c++中创建浏览器插件。Firebreath的特性之一是它允许你从浏览器插件中的c++访问和修改DOM,以及在c++中创建方法和属性,这些方法和属性可以在你的页面上从JavaScript访问。
- 如果没有malloc,链表实现将失败
- 如何在c++中实现处理器调度模拟器
- 如何在c++中使用引用实现类似python的行为
- 实现无开销push_back的最佳方法是什么
- 使用简单类型列表实现的指数编译时间.为什么
- 如何在BST的这个简单递归实现中消除警告
- 实现一个在集合上迭代的模板函数
- 我应该实现右值推送功能吗?我应该使用std::move吗
- 如何正确实现和访问运算符的各种自定义枚举器
- C++Union/Struct位域的实现和可移植性
- 这个极客对极客的trie实现是否存在内存泄漏问题
- 在c++中实现LinkedList时,应出现未处理的错误
- 为左值和右值的包装器实现C++范围
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- 使用GSoap实现ONVIF
- 在用于格式4的arm模拟器中实现功能时的一个问题
- 用于AVX的ln(x)的实现,m256
- 用常见虚拟函数实现的任意组合来实现派生类的正确方法是什么
- 在C++中,如何在类和函数(可能是模板化的)的头中编写完整的实现
- std::random_device是如何实现的