package org.newdawn.slick.tests; import org.newdawn.slick.AppGameContainer; import org.newdawn.slick.BasicGame; import org.newdawn.slick.Color; import org.newdawn.slick.GameContainer; import org.newdawn.slick.Graphics; import org.newdawn.slick.ScalableGame; import org.newdawn.slick.SlickException; /** * A test for a scalable game * * @author kevin */ public class ScalableTest extends BasicGame { /** * Simple test */ public ScalableTest() { super("Scalable Test For Widescreen"); } /** * @see org.newdawn.slick.BasicGame#init(org.newdawn.slick.GameContainer) */ public void init(GameContainer container) throws SlickException { } /** * @see org.newdawn.slick.BasicGame#update(org.newdawn.slick.GameContainer, int) */ public void update(GameContainer container, int delta) throws SlickException { } /** * @see org.newdawn.slick.Game#render(org.newdawn.slick.GameContainer, org.newdawn.slick.Graphics) */ public void render(GameContainer container, Graphics g) throws SlickException { g.setColor(new Color(0.4f,0.6f,0.8f)); g.fillRect(0,0, 1024,568); g.setColor(Color.white); g.drawRect(5,5, 1024-10,568-10); g.setColor(Color.white); g.drawString(container.getInput().getMouseX()+","+container.getInput().getMouseY(), 10, 400); g.setColor(Color.red); g.fillOval(container.getInput().getMouseX()-10,container.getInput().getMouseY()-10,20,20); } /** * Entry point to our test * * @param argv The arguments to pass into the test */ public static void main(String[] argv) { // normal res // try { // AppGameContainer container = new AppGameContainer(new ScalableGame(new InputTest(),600,600)); // container.setDisplayMode(600,600,false); // container.start(); // } catch (SlickException e) { // e.printStackTrace(); // } // smaller // try { // AppGameContainer container = new AppGameContainer(new ScalableGame(new InputTest(),600,600)); // container.setDisplayMode(300,300,false); // container.start(); // } catch (SlickException e) { // e.printStackTrace(); // } // // bigger // try { // AppGameContainer container = new AppGameContainer(new ScalableGame(new InputTest(),600,600,true)); // container.setDisplayMode(800,800,false); // container.start(); // } catch (SlickException e) { // e.printStackTrace(); // } // maintain aspect ratio try { ScalableGame game = new ScalableGame(new ScalableTest(),1024,568,true) { protected void renderOverlay(GameContainer container, Graphics g) { g.setColor(Color.white); g.drawString("Outside The Game", 350, 10); g.drawString(container.getInput().getMouseX()+","+container.getInput().getMouseY(), 400, 20); } }; AppGameContainer container = new AppGameContainer(game); container.setDisplayMode(800,600,false); container.start(); } catch (SlickException e) { e.printStackTrace(); } } }