Перейти к содержанию
Old Phone Forum
  • Вход

    Вы сейчас не залогинены на форуме.

    Для возможности комментариев, загрузки файлов, подписок на ответы - вам надо войти.

Переделываем игры под самсунг!


Рекомендуемые сообщения

Итак. Для успешного переделывания мидлета под самсунг нам потребуются 2 программы.

 

1) DJ Java Decompiler (или любой другой декомпилятор *.class)

2) J Builder 9 (Компилятор, интерфейс схожий с Delphi)

 

А вот альтернативный софт для тех кому не дойти до магазина и не купить JBuilder 9:

 

1. Windows XP, 2000

2. JAVA 2 SOFTWARE DEVELOPMENT KIT (J2SDK), STANDARD EDITION ver 1.4.2.06 = 52Mb

3. J2ME WIRELESS TOOLKIT (J2ME WTK) ver 2.2 = 17Mb

4. Java SDK for E800_E700_X100_X600 (SJSDK) ver 2.0 = 8Mb

5. Декомпилятор JAVA на Ваш выбор (например DJ Java Decompiler 3.7) = 1,7Mb

 

---------------

 

Приуреплена спецификация по Самсунговскому API.

Samsung_OEM_API_Specification.zip

  • Like 1
Ссылка на комментарий
Поделиться на другие сайты

Часть 1 "Убираем нижнюю полосу"

 

Оригинальная статья прислана мне DG Soft, за что ему огромный респект.

 

Для реализации полного экрана нужно знать некоторые особенности самсунговского апи.

 

Вобще дело в том что на главном канвасе нельзя использовать

функцию SetClip, чтобы было понятно если ты делаеш

SetClip(12,23,45,23) к примеру для вывода части картинки

а потом тебе надо отрисовать картинку на весь экран

SetClip(0,0,128,128) то фактически получаеш SetClip(0,0,128,110)

это связано с тем что в классе Display параметры width=128 и height = 110

вот такая фигня.

вот код функции SetClip тобы было понятно:

 

public void setClip(int x, int y, int width, int height)

{

x += transX;

y += transY;

short clipX1 = x <= 0 ? 0 : (short)(x & 0x7fff);

short clipY1 = y <= 0 ? 0 : (short)(y & 0x7fff);

if(x >= maxWidth || width <= 0 || y >= maxHeight || height <= 0)

{

clip[0] = clip[1] = clip[2] = clip[3] = 0;

clipped = true;

return;

}

clipX2 = x + width;

if(clipX2 > maxWidth)

clipX2 = maxWidth;

clipY2 = y + height;

if(clipY2 > maxHeight)

clipY2 = maxHeight; // вот вся фигня из-за етой проверки

clip[0] = clipX1;

clip[1] = clipY1;

clip[2] = (short)(clipX2 - clipX1);

clip[3] = (short)(clipY2 - clipY1);

if(clip[2] < 0)

clip[2] = 0;

if(clip[3] < 0)

clip[3] = 0;

if(clipX1 > 0 || clipY1 > 0 || clipX2 < maxWidth || clipY2 < maxHeight)

clipped = true;

}

 

 

А теперь решение:

Cоздаеш темповый имедж равный размеру экрана, на него создаеш темповый графикс

ti = Image.createImage(width, height);

tg = ti.getGraphics();

затем где по коду встречается

(допустим главный канвас g)

g.DrawImage

g.DrawString

g.SetClip

g.SetColor

g.SetFont

перенаправляеш на темповый имедж

т.е. меняеш g на tg

а в конце главной процедуры отрисовки (void paint(Graphics g)

отрисовываеш темповый имедж на главном канвасе

g.DrawImage(ti,0,0,0);

и всё ...

 

Пример прикрепил

CallOfDuty.zip

Ссылка на комментарий
Поделиться на другие сайты

Ditmar, J Builder 9 многовато весит. Можно какую-нибудь другую прогу использовать которая поменьше весит? Если можно то какую

Ссылка на комментарий
Поделиться на другие сайты

alex060, Ну качать JBuilder 9 это конечно самоубийство, поэтому добрые дяди и придумали магазины где диск JBuilder 9 можно купить за 65 руб., что сбережет твое время и трафик. Но для ленивых вывешиваю альтернативный набор описанный Vadiks на схожем по тематимке форуме. (Смотреть в первом посте)

Ссылка на комментарий
Поделиться на другие сайты

alex060, Терпение... просто один форум зверско весит и мне не посмотреть альтернативный софт...позже появиться в первом сообщении.

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

Слушай, Ditmar, Чето у меня вот ентую штуку переделать не получается.

Изначально Нокиевская, а такая полезная прога... Посмотри, а? :roll:

Ссылка на комментарий
Поделиться на другие сайты

Токмо API, знаешь скока ентая прога весит? Кто могет - прошу пределать.

Ссылка на комментарий
Поделиться на другие сайты

GrafGair, а для чего она предназначена???Извиняюсь за offtop просто приложения некоторых видов x100 вообще не поддерживает!

Ссылка на комментарий
Поделиться на другие сайты

Я ещё хотел добавить, что в самсунгах нельзя использовать софт клавиши совместно с полным экраном, т.е. как только вы делаете addCommand(cmd);

то сразу у вас 18 пикселей снизу обрезает командлайн.

 

Решение:

переводите обработчики нажатия этих клавиш, на события keyPressed(int key)

и используйте незадействованые клавиши (в основном * и #)

Ссылка на комментарий
Поделиться на другие сайты

  • 2 недели спустя...

вопрос: есть игры для х100, то бишь для дисплея 128х128. если их закачать на E700, где экран 128х160 или на D410 с экраном 176х220 то нормально ли они будут отображаться?

 

 

p.s. если вопрос не по теме, извините. не мого найти, куда задать его...

Ссылка на комментарий
Поделиться на другие сайты

документацию по апи самсунга скинули, а сами классы скинуть забыли...:-/

 

и еще, у вас тут есть где скачать эмуляторы самса без всяких страшных регистраций как на оф. сайте ?

 

хочу свои игры попеределывать для самсов

Ссылка на комментарий
Поделиться на другие сайты

0x45455844, все классы есть в Samsung Java SDK!Скачать можно её сайте!Думаешь это так легко!

Andreo555, не много не понял твой вопрос что ты понимаешь под словом нормально???Если ты про то что я подумал то они будут не во весь экран!

Ссылка на комментарий
Поделиться на другие сайты

0x45455844, Вот ссылка прямая http://sgh.ru/index.php?option=com_docman&...tart=0&limit=25

Andreo555, включи на эмуляторе и посмотри примерно!А точно посмотреть не знаю как!

Ссылка на комментарий
Поделиться на другие сайты

Ну ведь видел я где-то патч убирающий нижнюю полосу. А теперь найти не могу. Може есть у кого ДИФ??? :evil:

Живём мы весело сегодня, а завтра будем веселей!

Ссылка на комментарий
Поделиться на другие сайты

LEOPOLD, думаешь у тебя полоса пропадёт???Мечтай!Тока в играх от компании Samsung!

Ссылка на комментарий
Поделиться на другие сайты

Ditmar, не мог бы ты мне объяснить зачем нужна программа DJ Java Decompiler и J Builder 9 и как ими пользаваться, объясни плизззз.....

У меня горы игр от разных моделей в основном для Nokia и Siemens, и некоторым одного API не хватает.... :)

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти



×
×
  • Создать...