Дата и час: 21 Май 2018, 10:07

Часовете са според зоната UTC + 2 часа [ DST ]




Напиши нова тема Отговори на тема  [ 1 мнение ] 
Автор Съобщение
МнениеПубликувано на: 22 Апр 2010, 11:41 
Offline
VIP
Аватар

Регистриран на: 21 Дек 2006, 05:56
Мнения: 2511
Местоположение: Варна, България
Device: LG L7 P700
Device OS: Android
Device OS: SlimBean rel.3
Service provider: Globul
Преработка на JAVA игри, така че да работят на тъч-екран

Както знаем, базираните на WindowsMobile устройства имат сериозни проблеми със стартирането и управлението на игри и приложения, писани на JAVA. Причините за това са основно две:

- JAVA в покетите е реализирана чрез емулатори, а не е неделима част от софтуера, както например до голяма степен това е направено при Symbian
- WindowsMobile устройствата масово се управляват само тъч-екрана и ограничен брой хардуерни бутони, като им липсват стандартни за JAVA контроли, като цифрова клавиатура, софт-бутони и бутони за символите # и *.

Преди време, в друга тема, писах за китайска разработка, позволяваща прекомпилирането на JAVA файлове, при което в тях се добавя код, отговарящ за управление с тъч-екран. Китайският език определено се оказа проблем и май никой не се реши да експериментире с онова чудо, но междувременно един руснак е направил необходимото, за да ни помогне. (Нещо, което бе споменато мимоходом в темата, но без линкове и подробности.)

Става дума за програмиста с Антон Прозоров (известен още с ника Ant-ON) и програмата му JAVA Adapter for Mobile (съкратено - JAM). Програмата може да се свали от официалния му сайт, като съществуват две версии JAM и JAM EE. Първата се счита, че е за лаици и предлага куп автоматизации, втората е за експерти (оттам и JAM EE - Expert Edition) и предлага максимална гъвкавост в настройките. Последната версия на JAM EE - v1.3 се сваля оттук.

По-надолу ще опиша работата именно с JAM EE.

------------------------------------------------------------------------
Кратко ръководство за начина на работа с JAVA Adapter for Mobile Expert Edition (JAM EE v1.3):

1. Стартираме програмата

2. Отваряме менюто File > Choose JAR, избираме JAR файла на играта/приложението, което ще адаптираме и натискаме бутона [Open] в долния ред на JAM.

3. Програмата разпакетира JAR-a и прочита основните му параметри, след което дава кратко инфо на екрана. Ако няма проблеми, то преминаваме към таба <Main Options>.

3.1. Тук ни интересува най-вече настройката на Canvas библиотеката, която ще се вгради във вашия JAR. Разполагате с няколко възможности за Canvas-модул, който да поеме управлението на тъч-екрана. Най-важни са следните три варианта:
Изображение

КОМЕНТАР: За PocketPC като че ли най-подходяща е навигацията чрез тъч-екран по схемата 3x5 - просто ще разполагате на тъча с всички бутони от клавиатурата на "нормален" телефон. Все пак, понякога нещата зависят и от конкретната игра и може да се пробва и с другите две схеми - TouchScreen и TouchScreenStatic.

3.2. В карето Adaptation може да настроим начина на преработка на JAR-файла, в това число
- да се създаде и JAD файл, който е необходим най-вече при инсталации на NOKIA
- да се създаде архивно копие на все още необработения JAR файл (оставяйте го включено винаги! - за ваше добро е)
- да не се включват файлове с музика - кой ли ще го пожелае, но съществува и възможността "твърдо" да премахнете звуците от играта си
- да се включи допълнителен фикс за Canvas-модула, необходим при някой модели на NOKIA

КОМЕНТАР: За PocketPC е достатъчно само да оставите опцията за създаване на архивно копие.

3.3. В карето API имате възможност да добавите в JAR файла библиотеки, поддържащи специфичния интерфейс на даден производител на телефони. В огромния брой случаи това не е необходимо, но за игри, които ще пускате на Omnia или Xperia X1 може би си заслужава да опитате включване на итрефейсите на Samsing или Sony Ericsson, съответно.

4. Следва таба <Display>. Тук има един малък проблем - програмата е доста добра, но не и съвършена. Тя се справя превъзходно с игри, при които разрешаващата способност остава същата, горе-долу добре - при игри, където тя се увеличава и доста трудно - при игри, където желаем да "смалим" екрана. Когато става дума за адаптиране на игри за PocketPC, то най-подходящи кандидати са тези, разработени за телефони Sony Ericsson с разрешаваща способност 240х320 (M600,K800,K790,W850,W950,C901,S700,Pxxx и т.н.).

Програмата в пакета включва набор от 16 разрешаващи способности, основно адекватни за популярни марки телефони и достигащи максимум до 240х320 точки. Все пак има възможност да добавите и свои данни за дисплеи, като просто редактирате файла JAM.ini в последната му секция - [Screen]. Забележете, че ако добавите нови редове към съществуващите 16, то трябва да промените и реда n=16 да сочи новия общ брой на посочени размери на екрани.

Например, моята секция [Screen], изглежда така:

Код за потвърждение:
[Screen]
n=21
;MAX=21
;128x95 - LG_MG220
1=128x95
;128x128 - SE K300/ NOKIA - 3100,6020,6230,7210,7260
2=128x128
;
3=128x148
;128x160 - SE K500,Z600,T610,T630,Z520/ NOKIA - 6111,6070,7270/ SGH-X460
4=128x160
;132x176 - Sanyo SCP580/ Siemens x65
5=132x176
;
6=176x195
;176x208 - NOKIA N70,N91,n-Gage,3250,3650,6600,6630,6680,7610,7650
7=176x208
;176x220 - SE K700,V600,V800,Z1010/ SE 3D JAVA - K750,W550,W600,W800/ SGH-D500
8=176x220
;208x208 - NOKIA 5500,6230i,8801
9=208x208
;
10=220x220
;
11=208x320
;240x300 - Moto ROKR_Z6M
12=240x299
;240x240 - (*) SQVGA PPC - HP iPAQ HW6xxx
13=240x240
;240x320 - (*) QVGA PPC
14=240x320
;240x400 - (*) WQVGA PPC - Samsung Omnia/ LG GMxx /Acer beTouch/Gigabyte Cougar
15=240x400
;320x240 - (*) LS QVGA PPC - Moto Q8/ HTC s630/ HP iPAQ 910/ Samsung i320, i607, i617
16=320x240
;320x320 - (*) SQ2VGA PPC - Samsung i780/ Palm Treo Pro,Treo 800w
17=320x320
;320x480 - (*) HVGA PPC - HTC HD Mini/ Acer neoTouch p400
18=320x480
;320x600 - NOKIA 7700
19=320x600
;480x640 - (*) VGA PPC
20=480x640
;480x800 - (*) WVGA PPC
21=480x800


Т.е. - ако всичко е наред и играта поначало поддържа точно вашият екран, то включвате опцията [v] Don't adapt screen. Ако обаче искате да прескалирате всичко (повтарям - най-добре е да увеличавате!), то махате чавката от [] Don't adapt screen, избирате разрешаващата способност на своя дисплей (например - 480х800, ако имате HTC HD) и след това избирате към какво разрешение да се прескалират изображенията (и тъч-интерфейса!) на играта. Ако например ще адаптирате играта Doom_RPG за SE 240x320 и то именно към екрана на споменатия HTC HD2 е добра идея да увеличавате пропорционално - т.е. - играта да се увеличи само до 480х640 точки, а не до максималните 480х800 - така вероятността процесът да успее е многократно по-голяма.

5. Сега идва реда на таба <Клавиатура> и собствено - на карето <Basic keyboard layout>. Тук, като че ли всичко е ясно - ако играта е била за модел телефон, различен от вашия е резонно клавиатурата да се адаптира към вашите скан-кодове. Когато става дума пък за адаптация към покет с тъч-екран, тогава избираме в полето <Phone keys> - JBed Java Emulator, а отдолу се появава схемата на бутоните емулирани с тъч-екрана, които можем (но НЕ е добра идея) да редактираме.

6. Всичко е подготвено - връщаме се на таба <Status> и натискаме бутона [Adapt JAR] - след няколко секунди получаваме новичък, адаптиран JAR-файл, който можем да качим на покета и да изпробваме!


ВАЖНО: По метода "проба-грешка" е установено, че така преработените JAVA игри вървят най-добре през емулатора Esmertec Jbed! Т.е. - вероятността да подкарате нещо читаво на Tao Intent, IBM J9, Coretek Delta, JBlend или Mitac JVM е ЗНАЧИТЕЛНО по-малка!

----------------------------------------------
Ето и първият резултат от опитите ми за адаптация - Mafia Wars 2 за екран 240х320, адаптирана за тъч-схема 3х5 :yoda:

_________________
10 години фен на WindowCE/Windows Mobile... Сега - LG L7 P700 (SlimBean rel.3)
..., a, да - колеги, моля, ползвайте ТЪРСАЧКАТА!


Върнете се в началото
 Профил  
 
Покажи мненията от миналия:  Сортирай по  
Напиши нова тема Отговори на тема  [ 1 мнение ] 

Часовете са според зоната UTC + 2 часа [ DST ]


Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 1 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на: