Una vez con un proyecto configurado en Eclipse o Netbeans con las librerías necesarias para usar Slick2D, se crea una clase Main, o como se le quiera llamar, que extienda de BasicGame:
import java.util.logging.Level; import java.util.logging.Logger; import org.newdawn.slick.AppGameContainer; import org.newdawn.slick.BasicGame; import org.newdawn.slick.GameContainer; import org.newdawn.slick.Graphics; import org.newdawn.slick.SlickException; public class Main extends BasicGame { public Main(String gamename) { super(gamename); } @Override public void init(GameContainer gc) throws SlickException {} @Override public void update(GameContainer gc, int i) throws SlickException {} @Override public void render(GameContainer gc, Graphics g) throws SlickException { g.drawString("Hola mundo!", 10, 10); } public static void main(String[] args) { try { AppGameContainer appgc; appgc = new AppGameContainer(new Main("Juego simple en Slick2D")); appgc.setDisplayMode(640, 480, false); appgc.start(); } catch (SlickException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } } }
Si al ejecutar el programa aparece una ventana como ésta, hemos configurado correctamente Slick2D en nuestro IDE.
Nota: la leyenda de frames por segundo aparece en la esquina superior izquierda, justo donde estamos posicionado el texto de “Hola mundo”, para activar o desactivar ésta característica se tiene el método setShowFPS(true|false) del AppGameContainer
appgc.setShowFPS(false);
Estructura de un juego en Slick2D
Slick2D, como la mayoria de plataformas para desarrollar videojuegos, divide el programa en tres secciones básicas que son: init, update y render, y que se ejecutan en ese mismo orden. Init solo se ejecuta una vez al inicio del programa, update y render se ejecutan continuamente durante todo el juego.
En init se inicializan todas las variables y objetos que se requieran desde un comienzo: cargar las imágenes, preferencias del usuario, etc. En update se hacen los cálculos, ajustes, inteligencia, lectura del teclado; la lógica del juego va aquí adentro. En render se deben poner las funciones encargadas de mostrar los distintos elementos del juego en la pantalla.
![]() |
Estados de un juego simple en Slick2D |
Para ver más a fondo la estructura del juego y las clases básicas, lee la siguiente entrada del tutorial: Clases básicas de Slick2D, clase Game, BasicGame, GameContainer y Graphics
hola ;D muchas gracias por el aporte realmente me fue muy util