Читать «Создание игр для мобильных телефонов» онлайн - страница 31

Майкл Моррисон

Жизненный цикл мидлета

Жизненный цикл состоит из трех частей, о которых вы только что узнали. В обычном мидлете большая часть времени проходит в состояниях Active и Paused, а при закрытии мидлета он переходит в состояние Destroyed до тех пор, пока не будет полностью удален из памяти. В большинстве случаев вы переопределяете методы жизненного цикла мидлета, потому как важно выделять и высвобождать ресурсы мобильного телефона в соответствии с каждым из состояний. Например, при запуске игрового мидлета, вероятно, возникает необходимость создать объекты и/или загрузить данные. Когда выполнение мидлета приостанавливается, целесообразно высвободить часть ресурсов, закрыть соединения с сетью и приостановить воспроизведение музыки в игре. И, наконец, при условии разрушения мидлета необходимо высвободить память, а также сохранить нужные данные.

Помните, что мидлет может входить и выходить из состояний Active и Paused не один раз в течение жизненного цикла. Но если мидлет войдет в состояние Destroyed, он уже не сможет вернуться обратно. С этой точки зрения, отдельный игровой мидлет может прожить лишь одну жизнь.

Команды мидлета

Кроме переопределения методов жизненного цикла, большинство мидлетов реализуют метод commandAction(), обработчик событий, определенный интерфейсом javax.microedition.ldui.CommandListener. Команды используются для контроля игровых мидлетов и инициализации таких действий, как приостановка игры, сохранение данных, изменение настроек и выход из игры. Команды мидлета доступны через экранные кнопки (soft button) или меню и должны обрабатываться методом commandAction().

...

В копилку Игрока

Экранные кнопки (soft buttons) – это специальные кнопки, расположенные на дисплее мобильного телефона. Они предназначены для выполнения специальных команд мидлетов. Щелчок по кнопке выполняет команду, с которой эта кнопка связана. Щелчки по кнопкам для управления игрой обрабатываются иначе, чем нажатия экранных кнопок. Подробнее вы узнаете об этом из главы 6.

Дисплей, экраны и холсты

Одна из важнейших концепций мидлетов, которой стоит уделить внимание, – это класс Display, представляющий собой менеджер экрана мобильного устройства. Класс Display определен в пакете javax.microedition.lcdui, как и GUI-классы. Этот класс отвечает за управление экраном и вводом пользователя.

Вам не придется создавать объект Display, обычно вы получаете ссылку на объект Display в методе startApp() игрового мидлета, после чего настраиваете экран и пользовательский интерфейс. Для каждого мидлета, выполняемого на устройстве, существует только одно представление Display.