Перейти к содержанию
Посмотреть в приложении

A better way to browse. Learn more.

Форум Академгородка, Новосибирск

A full-screen app on your home screen with push notifications, badges and more.

Чтобы установить это приложение на iOS и iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
Чтобы установить это приложение на Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Игры для мобильников на j2me

Опубликовано

Привет.

Подскажите кто знает: в каком разрешении нужно подготавливать графику? Для каждой модели телефона нужно подгонять, или же можно использовать стандартный размер (240x289)?

Если нужно подгонять по моделям, то где можно узнать характеристики моделей телефонов?

 

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

Опубликовано

вообще говоря, стоит для каждого конкретного телефона делать свое разрешение экрана. если оно не будет совпадать с физическим, то в большенстве случаев картинка будет просто прокручиваться.

размеры экрана можешь узнать на сайтах для разработчиков

 

developer.samsungmobile.com

forum.nokia.com

motocoder.com

и т. д.

Опубликовано
  • Автор

struck, спасибо за совет. По идее прокрутка не нужна, поэтому придется подгонять для каждой модели.

Кстати а в симуляторе (из j2me wireless toolkit) никак нельзя проверять? Там только парочка скинов (default color phone и др.), а где найти скин под конкретные модели телефонов?

 

 

Опубликовано

QUOTE (bEe_ @ May 25 2005, 01:42 PM)
struck, спасибо за совет. По идее прокрутка не нужна, поэтому придется подгонять для каждой модели.
Кстати а в симуляторе (из j2me wireless toolkit) никак нельзя проверять? Там только парочка скинов (default color phone и др.), а где найти скин под конкретные модели телефонов?

У меня стоит Siemens SDK + скин C60. Могу поискать дистр, если надо.

Опубликовано
  • Автор

QUOTE
У меня стоит Siemens SDK + скин C60. Могу поискать дистр, если надо.

 

Выложи пожалуйста куда-нибудь. Попробую погонять.

 

Опубликовано

можешь поискать сдк для разработки под конкретных производителей на тех сайтах. там ( в сдк ) как правило есть эмуляторы для всех моделей производителя поддерживающих j2me.

но все же лучше тестировать и смотреть уже на телефонах, так как то что работает на телефоне, не всегда работает в эмуляторе https://academ.club/html/emoticons/sad.gif

а то что неплохо выглядит на экране монитора, иногда вживую выглядит просто ужасно https://academ.club/html/emoticons/sad.gif https://academ.club/html/emoticons/sad.gif https://academ.club/html/emoticons/sad.gif

Опубликовано

QUOTE (bEe_ @ May 25 2005, 07:03 PM)
QUOTE
У меня стоит Siemens SDK + скин C60. Могу поискать дистр, если надо.

 

Выложи пожалуйста куда-нибудь. Попробую погонять.

Кинул на \\store\exchange\soft\siemens. SDK+эмулятор

 

Опубликовано
  • Автор

Спасибо! Скачал - буду пробовать.

В догонку еще хотел бы вопрос задать (глупый наверное):

 

Не получается отловить нажатие цифровых клавиш.

Я наследую класс от GameCanvas и запускаю его в новом потоке.

А нажатия отлавливаю по getKeyStates(); В доке с сана было написано, что так само безопасно и правильно. Но этот метод почему-то не работает для KEY_NUM1 etc.

Работают только LEFT_PRESSED, ..., GAME_D_PRESSED https://academ.club/html/emoticons/sad.gif

 

Опубликовано

QUOTE (bEe_ @ May 26 2005, 10:41 AM)
Спасибо! Скачал - буду пробовать.
В догонку еще хотел бы вопрос задать (глупый наверное):

Не получается отловить нажатие цифровых клавиш.
Я наследую класс от GameCanvas и запускаю его в новом потоке.
А нажатия отлавливаю по getKeyStates(); В доке с сана было написано, что так само безопасно и правильно. Но этот метод почему-то не работает для KEY_NUM1 etc.
Работают только LEFT_PRESSED, ..., GAME_D_PRESSED https://academ.club/html/emoticons/sad.gif

Кусок работающего у меня на мобиле и в Сименовском эмуляторе кода (в классе-наследнике Canvas):

 

    protected void keyPressed(int key) {
       if (Balls.currentGameState == Balls.GAME_IDLE) {
           int actionKey = getGameAction(key);
           if (key == Canvas.KEY_NUM1)
               moveCurrent(curr_x - 1, curr_y + 1);
           else if (actionKey == Canvas.UP || key == Canvas.KEY_NUM2)
               moveCurrent(curr_x, curr_y + 1);
           else if (key == Canvas.KEY_NUM3)
               moveCurrent(curr_x + 1, curr_y + 1);
           else if (actionKey == Canvas.LEFT || key == Canvas.KEY_NUM4)
               moveCurrent(curr_x - 1, curr_y);
           else if (actionKey == Canvas.FIRE || key == Canvas.KEY_NUM5)
               clickBall();
           else if (actionKey == Canvas.RIGHT || key == Canvas.KEY_NUM6)
               moveCurrent(curr_x + 1, curr_y);
           else if (key == Canvas.KEY_NUM7)
               moveCurrent(curr_x - 1, curr_y - 1);
           else if (actionKey == Canvas.DOWN || key == Canvas.KEY_NUM8)
               moveCurrent(curr_x, curr_y - 1);
           else if (key == Canvas.KEY_NUM9)
               moveCurrent(curr_x + 1, curr_y - 1);
           else if (key == Canvas.GAME_A)
               Balls.screenMain();
       }
   }

Опубликовано
  • Автор

D-Light, да это вроде понятно... Просто в доке написано, что так делать не следует, т.к. не понятно в какой момент нажата кнопка (в разных потоках выполняется) и можно по случайности выполнить действие когда еще экран не перерисовался...

 

Хотя надо попробовать... Может работать будет.

 

Опубликовано

QUOTE (bEe_ @ May 26 2005, 02:45 PM)
D-Light, да это вроде понятно... Просто в доке написано, что так делать не следует, т.к. не понятно в какой момент нажата кнопка (в разных потоках выполняется) и можно по случайности выполнить действие когда еще экран не перерисовался...

Хотя надо попробовать... Может работать будет.

У меня была простая логическая игрушка и один поток, поэтому на время отрисовки я управление блокировал. Про более сложные варианты уже ничего не помню - несколько лет прошло. Если хочешь, то в помощь могу выложить несколько книг по J2ME.

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

Аккаунт

Навигация

Поиск

Поиск

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.