2017-02-06 18 views
0

Я пытаюсь создать GUI с помощью SWING, а затем контейнер, в котором будет отображаться фактическая игра Slick, как показано ниже.Вставка игры Slick2D внутри графического интерфейса

Example

Проблема заключается в том, что AppGameContainer является единственным доступным контейнер (что я знаю), но это создает целое окно (которое включает в себя строку заголовка и прочее), так что я не могу вставить, что внутри GUI, не так ли? Я открыт для других решений, поэтому дайте мне знать, есть ли лучший способ достичь этого.

Я не очень опытен с Slick2D, так что извините, если это очевидно, но я попробовал Googling и ничего не придумал.

+0

Только для встряхивания другого варианта вы можете взглянуть на [OpenGl] (http://www.codersource.net/2011/02/06/a-simple-2d-game-with-opengl-ball- с битой /). –

+0

Поскольку он основан на lwjgl, я подозреваю, что он использует java.awt.Canvas в ядре, это делает его тяжелым весовым компонентом, который не всегда хорошо играет в Swing, так же, как хедз-ап – MadProgrammer

ответ

0

Я бы рекомендовал использовать объект буфера кадров OpenGL (FBO) для рендеринга вашей сцены. FBO действует как 2D-объект текстуры в OpenGL, поэтому вы можете затем прочитать данные о пикселях из FBO и использовать его для визуализации в буферное изображение и использовать его для рендеринга на вашем качающемся холсте java. This - довольно хорошее руководство по использованию FBOs, если вы решите реализовать эту стратегию.