1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104
| import java.awt.*; import javax.swing.ImageIcon; import javax.swing.JFrame;
public class AnimationTest2 {
public static void main(String args[]) { AnimationTest2 test = new AnimationTest2(); test.run(); }
private static final DisplayMode POSSIBLE_MODES[] = { new DisplayMode(800, 600, 32, 0), new DisplayMode(800, 600, 24, 0), new DisplayMode(800, 600, 16, 0), new DisplayMode(640, 480, 32, 0), new DisplayMode(640, 480, 24, 0), new DisplayMode(640, 480, 16, 0) };
private static final long DEMO_TIME = 10000;
private ScreenManager screen; private Image bgImage; private Animation anim;
public void loadImages() { bgImage = loadImage("images/background.jpg"); Image player1 = loadImage("images/player1.png"); Image player2 = loadImage("images/player2.png"); Image player3 = loadImage("images/player3.png");
anim = new Animation(); anim.addFrame(player1, 250); anim.addFrame(player2, 150); anim.addFrame(player1, 150); anim.addFrame(player2, 150); anim.addFrame(player3, 200); anim.addFrame(player2, 150); }
private Image loadImage(String fileName) { return new ImageIcon(fileName).getImage(); }
public void run() { screen = new ScreenManager(); try { DisplayMode displayMode = screen.findFirstCompatibleMode(POSSIBLE_MODES); screen.setFullScreen(displayMode); loadImages(); animationLoop(); } finally { screen.restoreScreen(); } }
public void animationLoop() { long startTime = System.currentTimeMillis(); long currTime = startTime;
while (currTime - startTime < DEMO_TIME) { long elapsedTime = System.currentTimeMillis() - currTime; currTime += elapsedTime;
anim.update(elapsedTime);
Graphics2D g = screen.getGraphics(); draw(g); g.dispose(); screen.update();
try { Thread.sleep(20); } catch (InterruptedException ex) { } }
}
public void draw(Graphics g) { g.drawImage(bgImage, 0, 0, null);
g.drawImage(anim.getImage(), 0, 0, null); }
} |