我正在研究基于浏览器的游戏atm,并且已经开始研究将其移植到其他平台的选项,例如控制台或在网络浏览器中播放可能不合适的设备。
游戏几乎都是通过2D画布上下文完成渲染的JavaScript。
我所希望的是已经有一个c ++库/ api可以与google的v8引擎配合使用来处理JavaScript中的画布调用并使用opengl或类似的方式渲染它们
是否有人知道可能提供此功能的项目?
否则你会怎么想我在j ++中嵌入我的javascript,并尽可能少地修改javascript,因为我真的不想在平台之间保持太多差异?
答案 0 :(得分:4)
Qt是一个非常好的C ++库,与LGPL许可兼容,其中包括一个基于webkit的小部件,支持javascript。此外,作为脚本语言Qt使用javascript与C ++紧密集成(很容易编写C ++类,并使其在javascript级别可见)。
Qt是一个多平台,并配有一个高度复杂的IDE。
Qt目前没有使用V8,但移植正在进行中,他们的目标是提供100%向后兼容的解决方案。
Qt的唯一“问题”是IMO:
答案 1 :(得分:1)
我想我在这里有点晚了,但我正在寻找类似的解决方案。我发现node-canvas并且我不知道是否可以将其挂钩,以便将其渲染为SDL或SFML - 托管窗口。
但是出于我自己的目的,我会将代码移植到C ++并直接使用Cairo和SFML和OpenGL。
答案 2 :(得分:0)
有趣的想法 - 另一种可能性是使用Adobe Air,并通过StageWebView和Flex 4渲染游戏。如果您感兴趣,可以使用以下内容的一些示例代码:
https://github.com/JustinBeckwith/frink/blob/master/frink-flex/src/controls/WebBrowser.as
答案 3 :(得分:0)
我使用的一个有趣的项目是使用id FireBreath(firebreath.org)。这不是你想要的,但在某些方面它会让你接近。 Firebreath允许在C ++中创建浏览器插件。 Firebreath的一个功能是它允许您从浏览器插件中的C ++访问和修改DOM,以及在C ++中创建可以从页面上的JavaScript访问的方法和属性。