Привет Гость!
Ты можешь:
Войти или зарегистрироваться
Меню сайта
Главная страница
Моды ПК игр Форум Flash игры/журналы Помощь сайту WAP/PDA версия сайта Мы вКонтакте
Категории
Уроки по модификации java [176]
Уроки по переводу java игр [15]
Программы для компьютера [106]
Программы для телефона [85]
Модификация смартфонных игр [15]
Symbian, Android, iPhone и т.д.
Прочее [35]
Уроки по модификации ПК игр [9]
Мини-чат
Главная » Статьи » Уроки по модификации java

18.08.2011, 20:47

Мобильное 3D и адаптация к запуску

Значится чтобы развеять еще один миф - "чего-то насыпать, размешать и будет суп", порассуждаем на тему мобильного 3D.

Зададим себе вопрос - что происходит, когда мы "добавляем в мидлет классы с других телефонов"? Что, неужели появляется поддержка mmf, mp3, подсветки, вибры? Ответ отрицательный. Возникают ли глюки с корректным отображением графики? Ответ положительный.

Так что же мы тогда делаем и почему это работает? Все очень просто: Виртуальная Ява Машина (далее ВМ) есть промежуточное звено между мидлетом и ОС самого телефона. Мидлет работает в своеобразной песочнице, где его изолируют от всех возможностей телефона предоставляя только гарантированный набор, который регламентирован в MIDP и CLDC. Учтем, что этот набор жестко описан и мидлет, написанный только по этим стандартам будет одинаково работать на разных платформах, правда UI (пользовательский интерфейс) может отличаться.

С целью облегчения жизни программистам, увеличения производительности (ведь всегда есть некие особенности реализации ВМ) производители выпустили расширения для стандартов. Например, доступ к файловой системе - по стандартам MIDP 1 и CLDC 1.0 это не возможно.

Итак, допустим, в игре мы используем звуки в mmf. Для этого мы загружаем специальный Нокиевский объект sound, который входит в Нокиевское расширение MIDP 1.0

Запустим такой мидлет на Сименс: при запросе инициализации sound, ВМ начнет искать класс, который отвечает за это и, естественно, не найдет его. ВМ сгенерирует исключительную ситуацию и выдаст сообщение об ошибке. Добавим этот класс в мидлет, теперь ВМ находит объект, инициализирует его, но, фактически, работает с пустышкой, потому что на уровне самой ВМ поддержка этого формата у нас не реализована. Т.е. нами была создана своеобразная "заглушка", с которой большинство мидлетов могут нормально функционировать.

Какие варианты возможны?

  • Расширения просто дополняют стандартные классы, вводя новую функциональность - тогда добавив их в мидлет мы полностью восстановим работу (например расширение для канвы, чтобы воспринимать коды от разных джойстиков)
  • Расширения дают доступ к специфическим возможностям телефона - объекты изолируются на уровне ВМ, т.к. в ней нет для них обработчиков (или ВМ "падает", так например если включить вызов вибры, то стандартный эмулятор из WTK2 падает)

Все это справедливо и для технологии 3D. Функциональность 3D движка описывается, естественно, не в файлах class - они не более чем "обертка", описание интерфейсов создания, инициализации и уничтожения (как например paint() у объекта canvas - это событие связано с экраном и ответственность за него лежит на ВМ). Добавив оберток, мы "конфетку" не получим Единственный путь - писать "враппер", который будет реализовывать функциональность движка средствами другого движка (помните OpenGL через DirectX?? вот тут полная аналогия).

Только для j2me такой враппер НИКОМУ не нужен! Представьте, к примеру, что в CLDC 1.0 нет даже чисел с плавающей запятой: реализация 3D движка силами j2me + другой 3D движок = страшный неповоротливый геморрой.

Автор статьи - iceman345
© Доступно только для пользователей

Категория: Уроки по модификации java | Добавил: Tommy_M | Автор: iceman345
Просмотров: 2656 | Комментарии: 1 | Рейтинг: 0.0/0

Всего комментариев: 1
Спам
sevas   (06.09.2011 08:12) [Материал]
Я непонял к чему это статья?Что мы тут делаем?

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

о, привет
Новинки
  • Файлы
  • Статьи
  • Новости

Crazy Frog real model mod
Комментов: 0 | Загрузок: 3
Galaxy on Fire 2: Reforged
Комментов: 2 | Загрузок: 116
Minecraft Adventure of Squid HD Remake
Комментов: 0 | Загрузок: 76
Bounce Tales: Operation "MARS"
Комментов: 0 | Загрузок: 86
Counter-Strike: Global Offensive 2
Комментов: 0 | Загрузок: 94
Колобок против Зомби
Комментов: 0 | Загрузок: 67
Bounce Tales: Through the Ruins
Комментов: 0 | Загрузок: 78
Left 2 Die 3D: Cartoon MOD
Комментов: 0 | Загрузок: 84
Left 2 Die 3D: Black & White Movie MOD
Комментов: 0 | Загрузок: 75
愤怒的小鸡 大战 红毛猪
Комментов: 0 | Загрузок: 74

Трейлер ремейка SCP-087
Комментов: 0 | Просмотров: 3248
Открыт код Stalker Mobile 3D
Комментов: 1 | Просмотров: 3594
ГДЕ JAVA- ТУСОВКА? - ТУТ!
Комментов: 0 | Просмотров: 4004
Чат в Телеге
Комментов: 0 | Просмотров: 4154
ODN Remake - скриншоты
Комментов: 1 | Просмотров: 3771
O. D. N Remake
Комментов: 0 | Просмотров: 4114
Новый сайт с мобильными загрузками - Oldfag
Комментов: 7 | Просмотров: 5395
Случайный мод
Бета-версия моего лучшего мода.
4359 750 26 4.9
Статистика
Онлайн всего: 4
Гостей: 4
Пользователей: 0
Пользователи
Гости сайта

[ Нас сегодня посетили ]
При копировании материалов, желательно оставлять ссылку на этот сайт!
© Tommy_M 2009-2025 | Хостинг от uCoz