![]() |
|
Модераторы: javastic, AntonSaburov |
![]()
|
|
| inohodec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 1.12.2004 Репутация: нет Всего: 2 |
Всем привет
Нужна помощь в понимании как написать одну программку К сожалению сейчас не могу рассказать что именно там делается, но постараюсь обьяснить что мне надо И так Есть что то типа карты Сверху на эту карту накладывается сетка, по которой можно передвигаться либо тачем либо кнопками И когда пользователь останавливается на какой то клетке и выбирает ее, мы должны знать какую область он выбрал на карте В принципе очень похоже на google map, только еще на него натянуть сетку Т.е. когда юзер стоит у края окна и хочет двигаться еще , мы открываем ему новую область карты и на нее соответственно прорисовываем сеть Надеюсь более менее понятно обьяснил Есть такой ньюанс - карта довольно большая примерно 3000*3000 пикселей Отсюда вопрос, так как картинка сама по себе не очень сложная, для простоты обьяснения, допустим это дерево При чем черно белое и состоит из контуров Возможно стоит его рисовать, а не разбивать картинку на N частей? Или же лучше таки разбить? Ну вот собсно и все пока За ранее спасибо |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Если знаешь как рисовать лучше рисовать с помощью Graphics.drawXXX() - рисуй (отрезая те части, которых не видно на экране), при этом получишь бонус: сможешь масштабировать, заменять цвета линий и т.п. Если же картинка сложная - лучше разбить и загружать в память только те куски, которые видны на экране.
|
|||
|
||||
| inohodec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 1.12.2004 Репутация: нет Всего: 2 |
math64 Спасибо
Картинка простая, поэтому и подумал в сторону рисования Но не был уверен как лучше, что легче для телефона, показывать картинку (в принципе тоже отрисовка) Или рисовать самому по координатам Спасибо, буду рисовать |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Координаты можно ввести в файл ресурса - лучше бинарный (тогда нужно писать программу для его создания), но можно и текстовый.
При боле сложном варианте картинки, но с повторяющимися фрагментами - картинка разбивается на спрайты, рисуестся с помощью спрайтов. |
|||
|
||||
| inohodec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 1.12.2004 Репутация: нет Всего: 2 |
Опа
А не подскажешь где почитать по поводу созднаия бинарного файла и как с этим работать? |
|||
|
||||
| math64 |
|
||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
У тебя дерево? Можно так:
Для создания ресурса можешь использовать j2se(второй проект, класс Node используется в j2se-project и j2me-project), но для j2me метод write можно убрать.
NВ: в приведённом коде пропущены try/catch Это сообщение отредактировал(а) math64 - 28.9.2011, 07:56 |
||||
|
|||||
| inohodec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 1.12.2004 Репутация: нет Всего: 2 |
Спасибо У меня еще ничего Я еще не думал над конкретной реализацией Пока просто есть задача, и я попытался выяснить как где и почем Просто опыта с j2me нет ПС А еще такой вопрос, в продолжение темы Я уже сделал картинку, пикселями прорисованно все что мне надо А вот как ее ресайзить че то не нашел Т.е. если работать с картинкой (png, bml, gif), то как бы ничего сложного А вот если у меня вся картинка из пикселей и в памяти? |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Либо ресайзить вручную, попиксельно,
есть возможность получить массив пикселей из картинки и создать картинку из массива пикселей. либо иметь несколько комплектов картинок под разные размеры, можно иметь по одной картинке под каждый размер и резать её на спрайты. Спрайт можно поворачивать на 90, 180, 270 градусов. Если нужно поворачивать на другой угол - нужно подготовить повёрнутую картинку заранее. Т.е. если заранее известны масштабы и углы поворотов, лучше подготовить соответствующие рисунки заранее (в графическом редакторе или в j2se-проекте). Если рисуешь линиями - изменять масштаб никаких проблем. |
|||
|
||||
| inohodec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 1.12.2004 Репутация: нет Всего: 2 |
Ты меня опять запутал У меня как бы нет проблемы реализовать все в ручную, т.е. я во времени не ограничен и интерес пока есть Но при этом я понимаю что использовать готовые картинки проще Вопрос только в том что более правильно Так как картинка большая 3000*3000, то вопрос в производительности и памяти Если телефону будет легче справлятся с пикселями и моей ручной прорисовкой, так тому и быть А если он без проблем сможет работать и с кусочками картинок, тогда это более легкий путь и изобретать свой велосипед я не буду |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Показать кусочек картинки можно без проблем, но масштабировать, повернуть, поменять цвет (кроме цвета фона; в этом случае используется картинка с позрачными пикселями) - нужно вручную. Но большая картинка может не загрузиться.
Попробуй сначала загрузить её целиком (сохраняй как монохромную, можешь попробовать разные форматы), проверяй на реальном телефоне, а не эмуляторе - если получится - ОК. делай так. Если не получится - порежь на куски, убери дублирование (наример, куски где только один фон можно выбросить или оставить в одном экземпляре) Если выброшенных кусков будет много, из оставшихся можно собрать одну картинку, которая будет грузиться целиком. Для того, чтобы собрать из кусочков исходную картинку есть класс TiledLayer - поверх него можно добавить слой со спрайтами Но если различных кусков останется много, выбирать какие из них попадают на экран и отрисовывать нужно самостоятельно (отрисовка одного кусочка проблемы не представляет)
transform позволяет повернуть 90, 180, 270 градусов и отражение, anchor выравнивать влево/вправо/вверх/вниз/по центру шрифтов выбор не велик, и какие шрифты есть в телефоне не известно, поэтому для вывода надписей часто используется картинка с буквами, каждую букву можно оформить спрайтом. |
|||
|
||||
| inohodec |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 151 Регистрация: 1.12.2004 Репутация: нет Всего: 2 |
Ок
Пока нет необходимости менять цвет или поворачивать Поэтому, если я тебя правильно понял, пойду по пути готовых картинок Разрежу свою большую картинку на N маленьких и буду их показывать Спасибо |
|||
|
||||
![]()
|
FAQ раздела лежит здесь! |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |