|
Страница 1 из 4 Вашу игру легко запустить на вашем собственном мобильном телефоне
Введение J2ME – это интересная среда для игр. Имея базовые знания Java, заранее установленные NetBeans и J2ME Wireless Toolkit (беспроводной инструментарий J2ME), вы можете создавать простые, забавные двухмерные игры, которые можно запускать на ваших собственных мобильных устройствах. В этой статье показано использование интерфейса прикладного программирования (API) 5-класса Game,скомпонованного в пакет javax.microedition.lcdui.game. Предпосылки Здесь предполагается, что вы имеете базовые знания Java, знакомы с NetBeans и прочитали статью “Введение в программирование на Java ME”. Создание игр также требует определенных знаний физики, включая динамику Ньютона, движения, столкновения, и так далее. Недавно мы принимали участие в проекте под названием “Интенсивные программы разработки приложений для мобильных устройств”, организованном нашим университетом и его партнерами. Проект финансировался Uramus - программой поддержки студенческого обмена между европейскими странами. Мы начали работать с J2ME, что в итоге привело к написанию этой статьи. Использование GameBuilder облегчает процесс разработки игры. Однако он не будет подробно описываться в данной статье. Подробную информацию о разработке игр с помощью GameBuilder можно найти здесь. Использование кодаMainMidlet (главный мидлет) Как и Midlet, MainMidlet должен расширять абстрактный класс Midlet, который можно найти в пакете javax.microedition.midlet. Midlet требует переопределения трех методов: - startApp(), вызываемого для запуска игры
- pauseApp(), вызываемого для временной остановки приложения, например, при приеме вызова. Приложение должно прекратить отображение анимации и освободить ресурсы, которые больше ему не нужны. Работу приложения можно возобновить с помощью вызова resumeMIDlet()
- destroyApp(boolean unconditional), вызываемого при выходе из приложения. Мидлет может вызвать notifyDestroyed(), чтобы прервать работу
(Эти методы автоматически создаются при создании Визуального мидлета в NetBeans.) Однако, нам всего лишь нужно реализовать методы startApp() путем создания экземпляра класса GameCanvas и добавления CommandListener для выхода из Midlet (мидлета). Конечно же, это не лучший способ программирования, но на этом этапе нам только лишь нужно, чтобы приложение выполнялось. В качестве текущего средства вывода изображения можно установить GameCanvas в конце или внутри GameCanvas с помощью метода setCurrent. Этот метод принимает любые объекты Displayable (отображаемые) в качестве аргумента. public class MainMidlet extends MIDlet implements CommandListener { private SSGameCanvas gameCanvas ; private Command exitCommand ; public void startApp() { try { //создание нового потока игры gameCanvas = new SSGameCanvas(); gameCanvas.start(); // запуск потока игры exitCommand = new Command("Exit",Command.EXIT,1); gameCanvas.addCommand(exitCommand); gameCanvas.setCommandListener(this); Display.getDisplay(this).setCurrent(gameCanvas); } catch (java.io.IOException e) { e.printStackTrace();} } public void pauseApp() {} public void destroyApp(boolean unconditional) {} public void commandAction(Command command, Displayable displayable) { if (command == exitCommand) { destroyApp(true); notifyDestroyed(); } } }
|