2010-09-23 17 views
5

me preguntaron esto en los foros de XNA, pero supongo que como la mayoría de la gente no habría especializarse en C# no he tenido mucha ayuda con esteprogramación de videojuegos Xbox con Scala

Tengo algo de código para un juego escrito en Scala. En este momento compilo todo en Java Bytecode, pero el compilador de Scala tiene una versión .Net. Con esto en mente, y dado que el diseño modular es una buena práctica en general, escribí una interfaz gráfica y ahora uso una clase OpenGLGraphics que implementa esta interfaz que contiene cada línea de código OpenGL en mi programa. En mi mundo perfecto, podría intercambiar mi clase OpenGLGraphics por una clase de XNAGraphics y ejecutar mi juego en una Xbox sin más porting, bueno, tal vez alguna modificación, pero me imagino que no es así de simple.

He hecho algunas búsquedas en Google y no he podido encontrar un ejemplo de alguien que intenta esto. Tengo experiencia con la programación de XNA y el primer problema que me viene a la mente es que no existe un complemento scala para Visual Studio y la programación de XNA parece muy centrada en Visual Studio, ¿al menos puedo obtener Visual Studio para compilar código que no sea de C# en un ¿XNA proyecta o configura un proyecto XNA y una canalización de contenido sin Visual Studio?

+0

Creo Scala el .NET actualmente no está funcionando plenamente, aunque hay trabajo en esta área. – ziggystar

Respuesta

3

Puede configurar eventos arbitrarios antes y después de la compilación en el IDE creando un proyecto C#, haciendo clic con el botón derecho en el proyecto para abrir las páginas de propiedades y seleccionando "Crear eventos". Debería haber una "línea de comando de evento de precompilación" y una "línea de comando de evento de postcompilación" en la que se especifiquen comandos arbitrarios para ejecutar como parte de la compilación. Sin embargo, posiblemente una mejor opción sería crear archivos de compilación MSBuild a mano y usar la tarea Exec para ejecutar comandos arbitrarios.

Existe alguna discusión sobre la integración de Scala en VS here que también trata sobre las tareas personalizadas de MSBuild.

0

siempre que pueda apuntar el compilador a la versión correcta de los ensamblajes XNA y produzca un ensamblaje CLR adecuado, entonces su mejor opción sería refactorizar todo su código de juego en un .dll/ensamblado. Luego solo haga un proyecto regular de XNA como siempre, haga referencia a su conjunto de scala, y simplemente haga referencia al código del conjunto de scala para iniciar el juego de XNA.

para estar seguro, se necesitarían algunos refactorización, pero suena como que ya has hecho la mayor parte del trabajo por tener un procesador abstraída y todo lo que

Cuestiones relacionadas