Читати книгу створення ігор для мобільних телефонів майкла Моррісона онлайн читання - сторінка 4

Представлений фрагмент твору розміщений за погодженням з розповсюджувачем легального контента ТОВ "ЛітРес" (не більше 20% початкового тексту). Якщо ви вважаєте, що розміщення матеріалу порушує чиї-небудь права, то дайте нам знати.

Знайомство з J2ME Wireless Toolkit

KToolbar - це середовище візуальної розробки, в якій можна збирати, компілювати, упаковувати і тестувати програми J2ME з графічним інтерфейсом. Це контрастує з іншими інструментами J2ME, які запускаються з командного рядка. Далі ви будете часто використовувати KToolbar для побудови та тестування додатків.

У скарбничку Гравця

Мал. 2.1. KToolbar надає мінімальні кошти для розробки ігор на J2ME

Управління проектами J2ME

KToolbar пропонує простий спосіб управління проектами мидлетов і настройками збірки. Коли ви створюєте новий проект в KToolbar, він автоматично з'являється в папці apps, розташованої в папці установки J2ME Wireless Toolkit. Так, наприклад, якщо Wireless Toolkit встановлений в папці WTK21, то всі програми будуть створюватися в папці WTK21apps. Щоб створити новий проект, натисніть на кнопку New Project (Новий проект), розташованої на панелі інструментів. На рис. 2.2 показано діалогове вікно, в якому запитується назва проекту і ім'я класу мидлета.

Мал. 2.2. Щоб створити новий проект в KToolbar, просто введіть ім'я проекту і назва класу мидлета

Щоб відкрити існуючий проект в KToolbar, на панелі інструментів клацніть по кнопці Open Project (Відкрити проект). Це показує проекти, створені в папці apps, розташованої в папці установки J2ME Wireless Toolkit. На рис. 2.3 показано діалогове вікно Open Project (Відкрити проект), в якому ви можете вибрати проект, що зберігається в папці apps.

Мал. 2.3. У KToolbar можна відкривати тільки ті проекти, які знаходяться в папці apps пакета J2ME Wireless Toolkita

Після того як проект відкритий в KToolbar, ви можете змінити його настройки, для чого клацніть по кнопці Settings (Настройки), розташованої на панелі інструментів. Відкриється діалогове вікно Settings (Настройки), показане на рис. 2.4.

Мал. 2.4. Діалогове вікно Settings (Настройки) інструменту KToolbar надає вам доступ до великої кількості налаштувань проекту

Поки настройки проекту не дуже важливі, оскільки в більшості випадків підходять і настройки за замовчуванням. Можливо, єдине, чому варто приділити увагу, так це закладці MIDlet, на якій показані мидлети, що входять до складу проекту. На рис. 2.5 показані три різних мидлета, що містяться всередині одного проекту.

Мал. 2.5. Проект в KToolbar може складатися з декількох мидлетов, при цьому проект являє собою пакет мидлетов

Ігровий проект, показаний на рис. 2.5, містить дві гри-головоломки і гру Worm. Давайте, використовуючи KToolbar, откомпіліруем і спакуємо ці ігри, а потім протестуємо їх.

Тепер ви підійшли, ймовірно, до найважчої частини голови: компіляції прикладу мидлета гри. Насправді ми будемо компілювати всі три мидлета ігор, що входять в проект J2ME Wireless Toolkit. Я пожартував, кажучи, що це буде дуже складно. Досить клацнути по кнопці Build (Зібрати), розташованої на панелі інструментів, і проект буде зібраний. На рис. 2.6 показаний процес складання в KToolbar.

Мал. 2.6. Використовувати KToolbar для збірки мидлетов або їх пакетів дуже просто, для цього натисніть на кнопку Build (Зібрати), розташованої на панелі інструментів

Тестування ігрового мидлета

Емулятор J2ME безцінний при тестуванні мидлетов ігор в процесі розробки. Емулятор доцільно використовувати зважаючи на труднощі, що виникають при завантаженні коду на реальний пристрій знову і знову. Набагато ефективніше тестувати мидлети на настільному комп'ютері, а до перевірки роботи на реальних пристроях переходити на пізніх етапах налагодження.

Щоб запустити емулятор J2ME в KToolbar, на інструментальної панелі натисніть на кнопку Run (Запустити). На рис. 2.7 показано, як гри з пакета мидлетов відображаються в емуляторі.

Мал. 2.8. Гра Worm - хороший приклад простого ігрового мидлета

Приклад гри Worm - це варіація відомої гри Snake, про яку ви дізналися в попередньому розділі. Пограйте трохи в гру і поекспериментуйте з емулятором. Коли закінчите і закриєте вікно емулятора, спробуйте іншу конфігурацію пристрою, яку можна вибрати з меню, що випадає інструменту KToolbar. На рис. 2.9 показана гра PushPuzzle імітованого на пристрої з конфігурацією Qwerty.

Як видно, емулятор досить гнучкий при імітації мобільних пристроїв, його можна ефективно використовувати як базис для розробки мидлетов ігор.

У скарбничку Гравця

Як і в разі будь-яких інструментів з пакету J2ME, емулятор можна запустити безпосередньо з командного рядка. Однак KToolbar робить використання емулятора багато простіше і позбавляє вас від необхідності використання командного рядка.

У скарбничку Гравця

Емулятор J2ME і реальні пристрої

Таблиця 2.1. Мобільні пристрої, підтримувані J2ME Wireless Kit

Перед тим як більш детально зануритися в J2ME Wireless Toolkit, ви познайомилися з основами розробки комп'ютерних ігор. Хоча вони і не висічені на камені, ними корисно керуватися при початку роботи над своїм шедевром. У цьому розділі було приділено увагу пакету J2ME Wireless Toolkit, а також його спеціальним інструментам, що дає можливість збирати мобільні Java-ігри.

глава 3
Створення мобільної гри Skeleton

Розробка на мові Java пов'язана зі знанням Java і набору API, які забезпечують підтримку сервісів додатків (наприклад, GUI-компоненти, роботу в мережах, і введення / виведення). У цьому сенсі розробка мобільних додатків на Java нічим не відрізняється, тут також є набір API для підтримки різних процесів, необхідних мідлетам ігор для нормальної роботи в бездротовому мобільному середовищі. Щоб стати розробником мобільних ігор, необхідно зрозуміти ці API і їх призначення. У цьому розділі ви познайомитеся з API мобільного Java і пройдете стадію розробки «скелета» гри. Такий «скелет» мидлета послужить як шаблон для розробки ігор у всій книзі.

Прочитавши цю главу, ви дізнаєтеся:

► як програмування на J2ME розбивається на кілька різних API;

► про внутрішню структуру мидлетов;

► як підготувати мидлети для поширення.

Знайомство з J2ME API

Мал. 3.1. Щоб виконувати більшість функцій, мидлет повинен робити виклики CLDC API і MIDP API

Пам'ятайте, що хоча CLDC API і MIDP API були ретельно підібрані з урахуванням необхідності компромісу між продуктивністю і необхідним розміром пам'яті і обмеженнями мобільних пристроїв, їх в певних випадках недостатньо.

Це означає, що в ряді випадків вам доведеться більш ретельно опрацьовувати мидлет гри, оскільки у вашому розпорядженні немає широкого набору API, такого як в разі звичайного програмування.

Більшість класів, включених в CDLC API, відбуваються безпосередньо зі стандартного J2SE API. Ці класи і інтерфейси практично ідентичні тим, які ви, ймовірно, використовували при звичайному програмуванні на Java. Ця частина CLDC API знаходиться в пакеті зі знайомими з J2SE іменами java.lang і java.util. Крім класів і інтерфейсів, запозичених у J2SE, є ряд особливих класів CLDC API. Ці інтерфейси, головним чином, призначені для роботи з мережами, це стосується тієї частини J2SE API, яку практично дуже складно змінити відповідно до потреб мережевих пристроїв.

CLDC визначає ряд інтерфейсів, що сприяють функціонуванню пристрою в мережі, а рішення спеціальних завдань покладається на MIDP API. У зв'язку з цим CLDC API логічно ділиться на дві складові:

► набір пакетів, які служать як підмножина J2SE API;

► набір основних мережевих інтерфейсів.

Велика частина класів і інтерфейсів, що входять до складу CLDC API, безпосередньо успадковані від J2SE API. J2ME вимагає, щоб класи і інтерфейси, успадковані від J2SE, були незмінними. Це означає, що всі методи і поля цих класів збігаються з методами і полями таких класів J2SE, що помітно полегшує навчання програмування в J2ME, а також робить код стерпним між J2SE і J2ME.

Але CLDC йде в бік від J2SE API в питаннях, що стосуються роботи в мережі, і формує мережеву оболонку, відому як Generic Connection Framework (GCF, що настроюється мережева оболонка). GСF призначений для визначення загальної архітектури мережі, яка підтримує мережевий введення / виведення. Це дуже гнучка, а отже, розширюється архітектура. Оболонка GCF розроблялася як функціональне підмножина мережевих класів J2SE, тому можливості GCF доступні в J2SE. GCF складається з набору інтерфейсів з'єднань, а також класу Connector, використовуваного для встановлення різних з'єднань. Клас Connector і інтерфейси сполук перебувають у пакеті javax.microedition.io. У розділі 14 ви докладніше познайомитеся з програмуванням мережевих мобільних ігор.

MIDP API можна розділити на дві частини, подібно CLDC API:

► два класи, безпосередньо успадкованих від J2SE API;

► ряд пакетів, які включають класи та інтерфейси, унікальні для розробки MIDP.

Подібно CLDC API, MIDP API також успадковує від J2SE API. Не дивно, що велика частина MIDP API - це нові класи та інтерфейси, спеціально розроблені для програмування мидлетов. Хоча ці класи і інтерфейси можуть виконувати ті ж функції, що і деякі класи і інтерфейси J2SE API, в цілому вони унікальні для MIDP API, а отже, ретельно опрацьовані для вирішення специфічних для мидлетов завдань. Ця частина MIDP API розділена на кілька пакетів, кожен з яких слід за ім'ям javax.microedition:

Пакет javax.microedition.midlet - це центральний пакет в MIDP API, він включає в себе єдиний клас MIDlet. Клас MIDlet містить основні функції, необхідні для MIDP-додатки (мидлета), які можуть виконуватися на мобільному пристрої. У міру прочитання книги і побудови більш складних мидлетов ви більш детально познайомитеся з цим класом.

Пакети javax.microedition.lcdui і javax.microedition.lcdui.game включають класи та інтерфейси, які підтримують GUI-компоненти, спеціально призначені для маленьких екранів мобільних пристроїв. Крім того, в цих пакетах містяться класи і інтерфейси, спеціально розроблені для створення мобільних ігор. Унікальні можливості, такі як, наприклад, анімація спрайтів і управління шарами, роблять ці пакети надзвичайно цінними для програмування мобільних ігор. Трохи пізніше в цій главі ви почнете своє знайомство з деякими з цих класів і пакетів, а при подальшому прочитанні книги будете поглиблювати свої знання.

У скарбничку Гравця

Якщо вам доводилося працювати з J2ME раніше, то вам, ймовірно, буде цікаво дізнатися, що пакет javax.microedition.ldui.game з'явився тільки в MIDP 2.0. Ось чому MIDP 2.0 являє собою значний поступ вперед і зміцнення позицій J2ME як технології мобільних ігор.

Раніше ви дізналися, що CLDC служить основою для роботи в мережах і введення / виводу за допомогою Generic Connection Framework (GCF). Надбудовою MIDP API над цим є пакет javax.microedition.io, який включає в себе ряд інтерфейсів і класів для встановлення бездротових з'єднань з мережами і обміну даними. Пакет javax.microedition.pki використовується в поєднанні з пакетом javax.microedition.io для виконання захищених з'єднань. У розділі 14 ви дізнаєтеся, як виконувати основні мережеві завдання.

Представлений фрагмент твору розміщений за погодженням з розповсюджувачем легального контента ТОВ "ЛітРес" (не більше 20% початкового тексту). Якщо ви вважаєте, що розміщення матеріалу порушує чиї-небудь права, то дайте нам знати.

Читаєш книги? Заробляй на цьому!

Пишіть адміністратору групи - Сергію Макарову - написати

Схожі статті