2017-02-06 1 views
0

Ce que j'essaie de faire est de créer une interface graphique en utilisant SWING et ensuite avoir un conteneur qui affichera le jeu Slick réel à l'intérieur comme on le voit ci-dessous.Mettre un jeu Slick2D à l'intérieur d'une interface graphique

Example

Le problème est que le AppGameContainer est le seul conteneur disponible (que je sache), mais qui crée toute la fenêtre (qui comprend la barre de titre et d'autres choses), donc je ne peux pas vraiment intégrer qu'à l'intérieur l'interface graphique, pourrais-je? Je suis ouvert à d'autres solutions, alors laissez-moi savoir s'il existe un meilleur moyen d'y parvenir.

Je ne suis pas très expérimenté avec Slick2D donc désolé si c'est évident mais j'ai essayé de le googler et je n'ai rien trouvé.

+0

Juste pour le tremblement d'une autre option, vous pouvez jeter un coup d'oeil sur [OpenGl] (http://www.codersource.net/2011/02/06/a-simple-2d-game-with-opengl-ball- avec-bat /). –

+0

Parce qu'il est basé sur lwjgl, je pense qu'il utilise un java.awt.Canvas au cœur, ce qui en fait un composant lourd, qui ne joue pas toujours bien dans Swing, juste comme un heads up – MadProgrammer

Répondre

0

Je vous recommande d'utiliser un objet tampon OpenGL (FBO) pour rendre votre scène. Un FBO agit comme un objet de texture 2D dans OpenGL, vous pouvez donc lire les données de pixels du FBO et l'utiliser pour le rendu vers une image tamponnée, et l'utiliser pour le rendu sur votre canevas java swing. This est un très bon tutoriel sur la façon d'utiliser les FBO si vous choisissez d'implémenter cette stratégie.