Есть ли XNA-подобная библиотека для Java? [закрыто]

12

Мне любопытно узнать, есть ли подобная XNA библиотека для Java; то есть библиотека, которая

  1. Обрабатывает игровой цикл - т.е. вы просто реализуете существующий метод, и он будет вызываться каждый кадр.
  2. Обрабатывает рендеринг - то есть вы просто указываете ему, что рендерить, он позаботится о его отображении на мониторе, скрывая детали реализации, такие как аппаратное ускорение.
  3. Содержит много полезных методов для графического, звукового и пользовательского ввода параметров.

Мне интересна библиотека, которая поддерживает как 2D, так и 3D опции.

дуб
источник

Ответы:

15

Согласно вашему первому требованию, вы ищете структуру, а не библиотеку.

jMonkeyEngine - это фреймворк для 3D-игр (т.е. он предоставляет основной цикл, как вы просите, аналогично XNA), но он не будет хорошим выбором для 2D-игр.

Однако написать игровой цикл не сложно , и существующие библиотеки Java отвечают вашим 2-м и 3-м требованиям, поэтому я настоятельно рекомендую изучить 3D-библиотеку / движок графа сцены или любую 2D-библиотеку, в зависимости от того, делаете ли вы 2D или 3D игра.

Aviatrix3D , Ardor3D , Java3D и jMonkeyEngine мои рекомендации для графа сцены 3D движков.

Для 2D-библиотек у вас есть JGame , или вы можете использовать OpenGL для максимальной скорости и использовать LWJGL или JOGL . Вы также можете просто использовать встроенную библиотеку Java Graphics2D , которая будет особенно полезна, если вы планируете развертывать свою игру в виде апплета.


Для перехода на встроенный Graphics2D маршрут, посмотреть на исходный код на Metagun (нажмите , чтобы играть в апплет форме). Это небольшая, но очень хорошо написанная 2D Java-игра, и я думаю, что это отличный пример маленькой игры; скопируйте его структуру, и вы получите свой оптимальный игровой цикл / каркас.

Ricket
источник
6

Slick - хорошая 2D-библиотека Java, основанная на LWJGL. Он обрабатывает игровой цикл рендеринга и содержит полезные функции для реализации спрайтов.

Он поставляется в комплекте со многими различными демонстрациями и примерами.

Дэвид Янг
источник
1
Придется повторить эту рекомендацию. Slick - лучший вариант, который мне попался. Я написал несколько игр для Slick и одну для XNA, и я бы предпочел Slick для 2D-проектов.
Алекс Шеарер
Гладкая отлично подходит для 2D-проектов. Я очень рекомендую это.
Брайан Денни
Слик не так хорошо известен и ценится, как и должно быть. Я использовал его раньше и был приятно удивлен на каждом шагу, насколько хорошо он был разработан. Именно из-за Slick я предпочитаю Java для разработки 2D-игр.
Зак Конн
2

Если вы хотите, чтобы один и тот же фреймворк поддерживал как 2D, так и 3D, то ближе всего я видел jPct. Это 3D, но на их форумах есть несколько настроек для 2D.

Я рекомендую вам использовать Xith3D или Java Monkey Engine для 3D. И Slick или GTGE для 2D.

Я пишу книгу о разработке Java-игр, я уже закончил главы об основах разработки 2D и 3D-Java-игр, она может дать вам отправную точку, посмотрите здесь:

http://code.google.com/p/lucu

Taksan


источник
0

Несмотря на то, что он не поддерживает 3D, pulpcore является хорошей игровой средой . Я лично не использовал это, но я просмотрел код, чтобы проверить это, и это выглядит хорошо.

чий
источник
-1

RedDwarf - игровой движок Java. Это старый проект DarkStar, который Sun использует для финансирования.

Zooropa
источник
RedDwarf - это «фреймворк» сетевой игры Java, но в основном это серверная часть. Не совсем игровой движок вообще.
Рикет