Программирование игр для Xbox с помощью Scala - PullRequest
5 голосов
/ 23 сентября 2010

Я спрашивал об этом на форумах XNA, но, думаю, так как большинство людей там специализировалось бы на C #, мне не очень помогли с этим

У меня есть некоторый код для игры, написанной на Scala.Сейчас я компилирую все в байт-код Java, но у компилятора Scala есть версия .Net.Имея это в виду и поскольку модульное проектирование является хорошей практикой в ​​целом, я написал графический интерфейс и сейчас я использую класс OpenGLGraphics, реализующий этот интерфейс, который содержит каждую строку кода OpenGL в моей программе.В моем идеальном мире я мог бы поменять свой класс OpenGLGraphics на класс XNAGraphics и запустить свою игру на Xbox без дальнейшего портирования, ну, возможно, некоторые модификации, но я думаю, что это не так просто.

Я немного погуглил и не смог найти пример того, как кто-то пытался это сделать.У меня есть опыт программирования на XNA, и первая проблема, которая приходит на ум, заключается в том, что для Visual Studio не существует плагина scala, и программирование на XNA кажется очень ориентированным на Visual Studio.Проект XNA или настройка проекта XNA и конвейера контента без Visual Studio?

Ответы [ 2 ]

3 голосов
/ 23 сентября 2010

Вы можете настроить произвольные события до и после сборки в IDE, создав проект C #, щелкнув правой кнопкой мыши по проекту, чтобы открыть страницы свойств и выбрав «События сборки». Должны быть «Командная строка события перед сборкой» и «Командная строка события после сборки», в которой вы указываете произвольные команды для запуска как часть сборки. Однако, возможно, лучшим вариантом будет создание MSBuild файлов сборки вручную и использование задачи Exec для запуска произвольных команд.

Здесь обсуждается интеграция Scala в VS здесь , где также обсуждаются пользовательские задачи MSBuild.

0 голосов
/ 24 сентября 2010

, пока вы можете указать компилятору на правильную версию сборок XNA, и он будет производить правильную сборку CLR, тогда лучшим вариантом будет рефакторинг всего кода игры в .dll / сборку. Затем просто создайте обычный проект XNA в обычном режиме, ссылайтесь на свою сборку scala и просто ссылайтесь на код из сборки scala, чтобы запустить игру XNA.

Конечно, это потребовало бы некоторого рефакторинга, но похоже, что вы уже проделали большую часть работы, имея абстрактное средство визуализации и все такое

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...