2010-09-23 104 views
5

我问这个的XNA论坛,但我猜,因为大多数人会有专门在C#中我没有得到这个编程Xbox游戏使用Scala

我对Scala编写的一个游戏中的一些代码有很大帮助。我现在将所有东西编译成Java Bytecode,但Scala编译器有.Net版本。考虑到这一点,并且因为模块化设计通常是良好的实践,所以我编写了一个Graphics接口,现在我使用了一个OpenGLGraphics类来实现此接口,该接口包含我的程序中的每一行OpenGL代码。在我完美的世界中,我将能够将OpenGLGraphics课程换成XNAGraphics课程,并在Xbox上运行我的游戏,无需进一步移植,或者进行一些修改,但我想这不是那么简单。

我做了一些谷歌上搜索,我已经无法找到任何人试图这样的一个例子。我对XNA编程有经验,首先想到的问题是Visual Studio没有scala插件,而XNA编程似乎非常适合Visual Studio,我至少可以让Visual Studio编译非C#代码XNA项目或设置一个没有Visual Studio的XNA项目和内容管道?

+0

我觉得斯卡拉在.NET目前不完全工作,尽管这方面正在开展工作。 – ziggystar 2011-04-01 14:29:43

回答

3

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

有关于斯卡拉融入VS here一些讨论其中还讨论了自定义的MSBuild任务。

0

只要你可以编译器指向XNA组件的正确版本,并可以产生一个适当的CLR组件,那么你最好的选择可能是将所有的游戏代码重构为一个.dll /组装。然后,照常制作一个普通的XNA项目,引用你的Scala程序集,并引用scala程序集中的代码来启动XNA游戏。

可以肯定,它会采取一些重构,但它听起来像你已经由具有抽象渲染,做的大部分工作一切