DEADSOFTWARE

Initial commit.
[LongFlight.git] / src / code / kalter / longflight / screen / About.java
1 package code.kalter.longflight.screen;
3 import code.kalter.longflight.EventListener;
4 import code.kalter.longflight.Loader;
5 import code.kalter.longflight.LongFlight;
6 import code.kalter.longflight.Sprite;
7 import java.io.IOException;
8 import javax.microedition.lcdui.Image;
10 /**
11 * Экран информации об игре
12 *
13 * @author Kalter
14 */
15 public class About extends Screen {
17 private final Sprite window;
18 private final Sprite leftSoft;
19 private final Sprite rightSoft;
20 private final Image downPanel;
22 public About() throws IOException {
23 Loader loader = Loader.getInstance();
25 // window
26 Image windowImage = loader.getImage("/gfx/about/window.png");
27 int windowX = (screenW - windowImage.getWidth()) / 2;
28 int windowY = (screenH - windowImage.getHeight()) / 2;
29 window = new Sprite(windowImage, windowX, windowY);
30 window.addEvent(new EventListener() {
31 // override
32 public boolean is() {
33 return window.isEntrySet(getXPressed(), getYPressed());
34 }
36 // override
37 public void event() {
38 setScreenMenu();
39 }
40 });
42 // left soft
43 Image leftSoftImage = loader.getImage("/gfx/awt/left_soft.png");
44 int leftSoftX = 0;
45 int leftSoftY = screenH - leftSoftImage.getHeight();
46 leftSoft = new Sprite(leftSoftImage, leftSoftX, leftSoftY);
47 leftSoft.addEvent(new EventListener() {
48 // override
49 public boolean is() {
50 return leftSoft.isEntrySet(getXPressed(), getYPressed());
51 }
53 // override
54 public void event() {
55 setScreenMenu();
56 }
57 });
59 // right soft
60 Image rightSoftImage = loader.getImage("/gfx/awt/right_soft.png");
61 int rightSoftX = screenW - rightSoftImage.getWidth();
62 int rightSoftY = screenH - rightSoftImage.getHeight();
63 rightSoft = new Sprite(rightSoftImage, rightSoftX, rightSoftY);
64 rightSoft.addEvent(new EventListener() {
65 // override
66 public boolean is() {
67 return rightSoft.isEntrySet(getXPressed(), getYPressed());
68 }
70 // override
71 public void event() {
72 setScreenMenu();
73 }
74 });
76 // down panel
77 downPanel = loader.getImage("/gfx/awt/down_panel.png");
78 }
80 // override
81 public void start() {
82 setDate(39, screenH - 9);
83 super.start();
84 }
86 // override
87 public void run() {
88 while (getGameLoop()) {
89 fps.process();
90 update();
91 paint();
92 LongFlight.link.sleep(20);
93 fps.max();
94 }
95 }
97 // override
98 public void keyPressed(int keyCode) {
99 switch (getGameAction(keyCode)) {
100 case FIRE:
101 keyCode = RIGHT_SOFT;
102 break;
104 switch (keyCode) {
105 case RIGHT_SOFT:
106 case LEFT_SOFT:
107 setScreenMenu();
108 break;
112 // override
113 public void pointerPressed(int x, int y) {
114 super.pointerPressed(x, y);
115 leftSoft.exciteEvent();
116 rightSoft.exciteEvent();
117 window.exciteEvent();
120 private void setScreenMenu() {
121 LongFlight.link.setScreen(LongFlight.MENU);
124 private void update() {
125 space.update();
128 private void paint() {
129 space.paint(graphics);
130 window.paint(graphics);
131 for (int i = 0; i < screenW; i += 128) {
132 graphics.drawImage(downPanel, i, screenH - 18, 0);
134 leftSoft.paint(graphics);
135 rightSoft.paint(graphics);
136 paintDate();
137 flushGraphics();