【问题标题】:HTML5 game to native app [closed]HTML5游戏到本机应用程序[关闭]
【发布时间】:2013-10-05 04:39:29
【问题描述】:

我正在用 HTML5 制作游戏。我最熟悉 HTML5,并且比 C++ 等高级语言更喜欢它。 HTML5 是编写游戏的绝佳平台。我唯一的问题是我想将我的游戏作为本机应用程序运行(您可以在没有互联网浏览器功能的情况下启动,是全屏等),但我不知道有什么用。我环顾四周,找到了适用于 MOBILE 平台(如 PhoneGap)的东西,但没有找到适用于桌面(如 Windows、Mac 和 Linux)的东西。最终,尽我所能四处寻找,我找到了 TideSDK。 TideSDK 与 PhoneGap 类似,但适用于计算机操作系统,可在所有三种流行的操作系统(Windows、Mac 和 Linux)上运行。然而,TideSDK 的运行速度对于游戏来说并不够快。它不支持 window.requestAnimationFrame,因此为游戏循环执行 setInterval 会使其非常慢。太慢了,我猜它是 2 或 3 FPS。我在 Chrome 上尝试了完全相同的游戏,它运行良好。

我可以使用另一种对 HTML5 游戏来说足够快的替代方法吗? (我不想通过 XCode [和其他平台上的其他 IDE] 来制作 Webkit 框架,它不是真正的跨平台,而且很耗时。不过,如果我必须这样做,我会这样做) 对于我正在运行的系统,我使用的是 Mac(OSX 10.8、Mountain Lion),但我可以访问 Windows 7 和 Ubuntu 12.04 32 位。

【问题讨论】:

  • 只是...在浏览器中加载游戏并弹出到全屏模式?
  • 反正有钛桌面.. 但我不确定它是否还活着。还有 qt-webkit .. 但我不确定它的性能。但我确实认为只使用 chrome 并进入全屏模式更方便。而且您不必维护“浏览器”本身。
  • @user1600124 我目前正在使用它。我唯一的问题是我想卖这个游戏,可能在 Steam 上。所以,我需要一个单机版。
  • 关于这个主题有一个类似的线程,并且有一个详细的选项列表。 stackoverflow.com/a/13563325/1600124

标签: javascript html native


【解决方案1】:

我会研究一下电子

http://electron.atom.io/

相当好的文档,看起来完全符合您的要求。

性能方面,它在我尝试过的应用中表现良好!

【讨论】:

  • @cakeisajoke 这是否有助于完成您所需要的?
  • 注意: Electron 只能在 64 位处理器上运行。您最好使用nw.js 以获得跨平台兼容性。
【解决方案2】:

我自己一直在寻找一个全方位的解决方案。我尝试了 TideSDK、AppJSVB.NETXCodePythonC++Electronnw.js/node-webkit 等中的本机代码:基本上你把它命名为试过了。

注意Electron 很好,但它只能在 64 位处理器上运行。所以 如果您想要您的应用程序,nw.js/node-webkit 是一个更好的解决方案 在 32 位和 64 位处理器上运行。

所以我决定构建自己的开源解决方案,名为WebDGapWebDGap 可在 Windows、Linux、Mac OS X、Google Chrome 上运行并作为 Web 应用程序运行!当您将应用程序导出为 Windows、Linux 或 Mac 应用程序时,WebDGap 使用nw.js 作为框架来将您的 Web 应用程序作为桌面应用程序运行。因为它使用nw.js 作为将您的应用程序作为桌面应用程序运行的框架,并且与Electron 不同,您无需更改代码即可让您的应用程序正常工作。

例如,如果您在应用程序中使用 JQuery 并使用 Electron 导出,则无法像常规 javascript 库那样加载 JQuery

<script src="libraries/jquery/jquery.js"></script>

你必须像这样加载它......

<script>
  window.$ = window.jQuery = require("./libraries/jquery/jquery.js")
  // or if you installed jquery via npm you could use
  // window.$ = window.jQuery = require("jquery")
</script>

观看How To Video,了解如何使用WebDGap

这是一个屏幕截图。

由于您已经是 Mac 用户,您可以将导出的应用程序合并到 1 个 .app mac 文件中。这可以通过Automator(和一些shell脚本)来完成。

我还为移动用户制作了一个编码游乐场,它使用nw.js 就像WebDGap 一样将您的网络应用程序运行/转换为名为@9​​87654346@ 的本机桌面应用程序。

这是我要导出为 Mac 应用程序的井字游戏:

现在网络应用程序作为本地 Mac 应用程序运行!

最后,有很多工具可以制作WebGL 动力游戏。

我最喜欢和推荐的是Goo Create,因为您可以完全不使用代码,但也可以使用您可以添加到其中的自定义代码。

【讨论】:

    【解决方案3】:

    对于移动平台,我建议PhoneGap/PhoneGap Build/Cordova

    对于台式机,我建议Nw.jsChrome AppWebDGap

    Nw.js 是最先进的桌面网络技术平台。

    Nw.js 是基于Chromiumnode.js 的应用运行时。你可以 使用Nw.js 用 HTML 和 JavaScript 编写本机应用程序。它还让你 直接从 DOM 调用 Node.js 模块并启用一种新的方式 使用所有 Web 技术编写本机应用程序。

    Node.js 可在 32 位和 64 位处理器上运行,正在快速升级,开发人员非常乐于助人,而且因为它是基于铬构建的,所以速度快如闪电。

    【讨论】:

    • 上次我检查过,nw.js 仅适用于 32 位处理器。 (Mac 应用程序在 64 位处理器上工作除外)不过这可能已经改变了。
    • 它也支持windows、linux和mac的64位架构
    • 你知道他们是什么时候这样做的吗?
    • 第一个支持64位windows平台的版本是v0.11.0(2014年11月11日)
    【解决方案4】:

    这是基于 html5 的 gmae 框架列表: https://html5gameengine.com/

    但一些最受欢迎的是:

    https://www.scirra.com/ https://www.scirra.com/

    http://impactjs.com/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-26
      • 1970-01-01
      相关资源
      最近更新 更多