Когда код UFOCanvas полностью разработан, можно перейти к встраиванию этого класса в мидлет. В листинге 5.2 приведен код класса UFOMIDlet. Листинг 5.2. Код класса UFOMIDlet, хранящийся в файле UFOMIDlet.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class UFOMIDlet extends MIDlet implements CommandListener {
private UFOCanvas canvas;
public void startApp() {
if (canvas == null) {
canvas = new UFOCanvas(Display.getDisplay(this)); //Настраиваемый холст – это то, что отличает класс мидлета от созданных ранее примеров
Command exitCommand = new Command("Exit", Command.EXIT, 0);
canvas.addCommand(exitCommand);
canvas.setCommandListener(this);
}
// Start up the canvas
canvas.start();
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {
canvas.stop();
}
public void commandAction(Command c, Displayable s) {
if (c.getCommandType() == Command.EXIT) {
destroyApp(true);
notifyDestroyed();
}
}
}Как видно из приведенного кода, класс UFOMIDlet состоит из стандартного кода мидлета, который вы видели ранее. Класс мидлета отвечает за создание холста, запуск и остановку выполнения программы. Вы должны привыкнуть к тому, что большая часть специального игрового кода ваших игр будет реализовываться в классе холста и других обслуживающих классах.
Тестирование программы
Как только мидлет UFO собран, вы можете протестировать его в эмуляторе J2ME. В результате летающая тарелка немедленно начинает перемещаться по экрану (рис. 5.7).
Рис. 5.7. Когда мидлет запускается, по экрану немедленно начинает летать НЛО
Поскольку на картинке сложно отобразить анимацию, то на рис. 5.8 показан летающий объект в другом месте экрана.