1 package de.jos.game.objects.screen;
2
3 import java.awt.Graphics2D;
4 import java.awt.event.KeyEvent;
5
6 import org.apache.commons.lang.StringUtils;
7
8 import com.golden.gamedev.GameEngine;
9 import com.golden.gamedev.object.AnimatedSprite;
10 import com.golden.gamedev.object.Timer;
11
12 import de.jos.game.objects.ResourceContainer;
13
14 public class TestScreen extends AbstractGameObject {
15
16 private AnimatedSprite ball = new AnimatedSprite();
17
18 private Timer timer = null;
19
20 int delay = 100;
21 int DELAY_INCREMENT = 5;
22
23 public TestScreen(GameEngine parent, ResourceContainer resourceContainer) {
24 super(parent, resourceContainer, null);
25 }
26
27 public void initResources() {
28
29
30 String spriteString = System.getProperty("sprite");
31 String[] strings = StringUtils.split(spriteString, ";");
32
33 ball.setImages(getImages(strings[0], Integer.parseInt(strings[1]), Integer.parseInt(strings[2])));
34
35 ball.setX(20);
36 ball.setY(60);
37 ball.setAnimate(true);
38 ball.setLoopAnim(true);
39
40 setFPS(100);
41
42 timer = new Timer(delay);
43
44 ball.setAnimationTimer(timer);
45 }
46
47 public void update(long elapsedTime) {
48
49 ball.update(elapsedTime);
50
51 if (keyPressed(KeyEvent.VK_PLUS)) {
52 delay += DELAY_INCREMENT;
53 timer = new Timer(delay);
54 ball.setAnimationTimer(timer);
55 } else if (keyPressed(KeyEvent.VK_MINUS)) {
56 delay -= DELAY_INCREMENT;
57 timer = new Timer(delay);
58 ball.setAnimationTimer(timer);
59 } else if (keyPressed(KeyEvent.VK_Q)) {
60 finish();
61 }
62
63 }
64
65 public void render(Graphics2D graphics) {
66 ball.render(graphics);
67
68 graphics.clearRect(0, 0, 80, 40);
69
70 fontManager.getFont("FPS Font").drawString(graphics, "" + ball.getFrame(), 10, 10);
71 fontManager.getFont("FPS Font").drawString(graphics, "" + delay, 40, 10);
72
73
74
75
76
77
78 }
79
80 }