【问题标题】:C# XNA code on the web for a standard browser用于标准浏览器的 Web 上的 C# XNA 代码
【发布时间】:2012-12-03 22:59:13
【问题描述】:

显然,有一种方法可以将 C# XNA 项目添加到网站,以便可以从普通 Web 浏览器在网站上查看它们,大概浏览器会强制执行安全性让步。

这是怎么做到的?

编辑:我认为 C# 项目可能只在服务器上运行,客户端被发送它可以理解的东西。

【问题讨论】:

  • 想不到,您可以使用 Windows XBAP 应用程序(我认为只有 Windows Internet Explorer)来完成,或者您可以利用 Silverlight 5 的 3D 功能。
  • 我的项目是 2D 图形的。每个人都使用 Firefox 或 Chrome,我推测它以某种方式或类似的方式转换为 JS,显然服务器做了一些事情。
  • 那么你必须更具体;听起来你在谈论一种已经存在的特定产品?您所说的“明显的添加方式”是什么?

标签: c# browser web xna executable


【解决方案1】:

http://jsil.org 可以将已编译的 .Net 应用程序转换为客户端 Javascript“应用程序”...并且已被证明可以在 XNA 游戏上相当成功地工作。

它只处理 2D 的东西,声音在我上次检查时需要手动重写,但从我所看到的情况来看,它的工作非常令人印象深刻。

应该注意的是,虽然这可以完成工作,但它肯定不会产生任何接近从一开始就用 JS 编写的游戏的质量(即可维护性)的 JS(使用类似 3. js 或 easle.js)...因此,如果这用于商业产品,您可能希望探索专门为 Web 重写/移植游戏作为一种严肃的选择。

【讨论】:

  • 或者保留在点网的主源中。 tyvm 我正在尝试。
  • 我不确定如何让它执行转换,该网站对此没有帮助。我已经从 'github.com/kevingadd/JSIL.git' 下载了它作为一个 zip 文件并解压了这些文件。没有可执行文件,但有一个 .sln,打开时没有打开,但使用 Visual (Studio) C# 内部的“文件->打开”有效,但是有 968 个错误,我什至没有告诉它什么解决方案转换呢。你应该如何让它工作?
  • 我建议您按照 wiki 说明进行操作,看看您能走多远。 github.com/kevingadd/JSIL/wiki
  • ty,我现在已经试过了。我不确定 GIT 是什么,它看起来像一个 Linux 的东西,谢天谢地,它似乎只是关于下载 JSIL 并且我已经完成了那部分。运行 sln 时出现这些错误pastebin.com/fuK4YwQi,然后运行时出现这些错误pastebin.com/1773nYdH
  • 这太荒谬了,显然我只需要一个文件 JSILc.exe 我不敢相信他们不会只提供它。
【解决方案2】:

如果没有插件,这是不可能的。显然,该插件只能在 Windows 上运行,因为 XNA 是基于 DirectX 构建的。

据我所知,目前没有插件可以做到这一点。

编写插件并不难,但是,您必须为要运行插件的每个浏览器执行此操作。

如果您希望您的游戏内容在网络上,更好的途径可能是HTML5 and its Canvas functionality,它适用于所有现代浏览器。您可能对this article 感兴趣,它讨论了将 2D XNA 游戏移植到 HTML5 Canvas。

如果你需要 3D 支持,你可以走 HTML5 WebGL 路线,虽然 Internet Explorer 不支持它。

【讨论】:

  • 如果必须安装可执行文件(或插件),这点就失败了,我知道有一些方法可以做得更好。
  • XNA 是 DirectX + 托管代码。浏览器不知道如何运行它,所以你需要一个插件来告诉浏览器如何渲染它。真的没有办法解决这个问题。如果你不想安装插件,你应该使用 HTML5,而不是 XNA。
【解决方案3】:

您想要的可能是Google Native Client (NaCl)。我还没有玩过它(还),但据我所知,Unity 等一些游戏引擎可以使用它。

希望对你有帮助。

【讨论】:

  • 这是否仅在您的内容查看者使用 Chrome 时才有效?在其他方面它看起来很棒,我不明白为什么它会被否决。
  • 我没有深入研究这项技术,但我怀疑它只适用于 Chrome。但我相信这是一项非常一致的技术,并且(我认为)它可能会成为网络的未来。感谢您的投票!
猜你喜欢
  • 2016-08-07
  • 1970-01-01
  • 2013-05-25
  • 2016-09-10
  • 2012-04-22
  • 2017-03-28
  • 2018-02-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多