View Javadoc

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      // sprite must have format "filename;spritex,spritesy"
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      // ball.setImages(getImages("bla.png", 20, 1));
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       * getResourceContainer().getBackground().render(graphics);
75       * frame.render(graphics); rollingball.render(graphics);
76       * rollingball2.render(graphics); sprite.render(graphics);
77       */
78    }
79  
80  }