使用Scala编写Xbox游戏程序

5
我在XNA论坛上提出了这个问题,但是我猜因为那里的大多数人专攻C#,所以得到的帮助不多。
我有一些用Scala编写的游戏代码。目前我将所有内容编译成Java字节码,但是Scala编译器也有.NET版本。考虑到这一点,并且由于模块化设计通常是一个很好的实践,我编写了一个图形界面。现在我使用OpenGLGraphics类来实现此接口,其中包含程序中OpenGL代码的每一行。在我的完美世界里,我应该能够将我的OpenGLGraphics类替换为XNAGraphics类,然后在Xbox上运行我的游戏而无需进一步移植,当然,可能需要进行一些修改,但我想这并不简单。
我做了一些谷歌搜索,但我没有找到任何人尝试过这样做的例子。我有XNA编程经验,首先想到的问题是Visual Studio没有Scala插件,而且XNA编程似乎非常依赖于Visual Studio。那我是否可以让Visual Studio编译非C#代码在XNA项目中或者设置XNA项目和内容管道而不使用Visual Studio呢?

我认为目前在.NET上的Scala并没有完全运作,尽管在这个领域还有工作正在进行。 - ziggystar
2个回答

3
您可以通过创建C#项目,在IDE中右键单击该项目以打开属性页面并选择“生成事件”,来配置任意的构建前和构建后事件。在那里,您应该有一个“预先构建事件命令行”和“后置构建事件命令行”,您可以在其中指定要作为构建的一部分运行的任意命令。但是,可能更好的选择是手动创建MSBuild构建文件,并使用Exec任务来运行任意命令。
这里有一些关于Scala集成到VS here的讨论,其中还讨论了自定义的MSBuild任务。

0
只要您可以将编译器指向正确版本的XNA程序集,并且它生成一个合适的CLR程序集,那么最好的选择就是将所有游戏代码重构为.dll/程序集。然后像往常一样制作一个常规的XNA项目,引用您的Scala程序集,并从Scala程序集中引用代码启动XNA游戏。
确保需要进行一些重构工作,但听起来您已经通过具有抽象渲染器等方式完成了大部分工作。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接