【问题标题】:Programming Xbox games with Scala使用 Scala 编程 Xbox 游戏
【发布时间】:2010-09-23 17:47:30
【问题描述】:

我在 XNA 论坛上问过这个问题,但我想因为那里的大多数人都专注于 C#,所以我没有得到太多帮助

我有一些用 Scala 编写的游戏代码。我现在把所有东西都编译成 Java 字节码,但是 Scala 编译器有一个 .Net 版本。考虑到这一点,并且因为模块化设计通常是一种很好的做法,我编写了一个图形接口,现在我使用一个 OpenGLGraphics 类来实现这个接口,它包含我程序中的每一行 OpenGL 代码。在我的完美世界中,我可以将我的 OpenGLGraphics 类换成 XNAGraphics 类,并在 Xbox 上运行我的游戏,而无需进一步移植,好吧,也许是一些修改,但我想这不是那么简单。

我进行了一些谷歌搜索,但未能找到任何人尝试此操作的示例。我确实有 XNA 编程经验,我想到的第一个问题是 Visual Studio 没有 scala 插件,而且 XNA 编程似乎非常以 Visual Studio 为中心,我至少可以让 Visual Studio 编译非 C# 代码吗XNA 项目或在没有 Visual Studio 的情况下设置 XNA 项目和内容管道?

【问题讨论】:

  • 我认为 .NET 上的 Scala 目前还没有完全发挥作用,尽管这方面的工作正在进行中。

标签: scala xna


【解决方案1】:

您可以通过创建 C# 项目、右键单击该项目以打开属性页面并选择“构建事件”来在 IDE 中配置任意构建前和构建后事件。应该有一个“预构建事件命令行”和“构建后事件命令行”,您可以在其中指定任意命令作为构建的一部分运行。但是,可能更好的选择是手动创建MSBuild 构建文件并使用Exec 任务运行任意命令。

有一些关于 Scala 集成到 VS here 的讨论,其中还讨论了自定义 MSBuild 任务。

【讨论】:

    【解决方案2】:

    只要您可以将编译器指向正确版本的 XNA 程序集,并且它会生成正确的 CLR 程序集,那么您最好的选择就是将所有游戏代码重构为 .dll/程序集。然后像往常一样制作一个常规的 XNA 项目,引用你的 scala 程序集,然后引用 scala 程序集的代码来启动 XNA 游戏。

    可以肯定的是,这需要一些重构,但听起来您已经通过抽象渲染器完成了大部分工作

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-30
      • 1970-01-01
      • 2017-12-18
      • 1970-01-01
      • 2011-03-05
      相关资源
      最近更新 更多