![]() |
Модераторы: javastic, AntonSaburov |
![]() ![]() ![]() |
|
Гость_Mihail |
|
|||
Unregistered |
Скажите, люди добрые.
Есть игровая карта сколько-то на сколько-то ячеек. На карте есть всякие объекты. Они могут быть не только размером 1x1 но и любого другого. Есть массив из классов объекта карты(объект представляет из себя на самом деле просто набор переменных). Вот, например, класс объекта: class класс_объекта { int left, top, id; } а вот класс ячейки: class класс_ячейки { класс_объекта переменная_объекта; int typeID; } Объект может занимать несколько ячеек, и каждая ячейка должна указывать(и будет) на объект, который её занимает. А сами объекты, храняться в массиве, чтобы с ними легче было работать. В ячейках они за тем, чтобы легче было искать короткие пути из точки "А" в точку "Б". Телефон ведь не подохнет, если у него на каждой ячеке будет висеть пустая переменная объекта. Количество ячеек может достигнуть, и даже превысить, восемь тысяч штук. А если на каждую ячейку ещё повесть какие-нибудь переменные(есть ещё человечки, здания...). |
|||
|
||||
redrick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 547 Регистрация: 7.1.2004 Где: Москва Репутация: 1 Всего: 5 |
опытным путем выяснено, что по крайней мере на эмуляторе инстанс Object занимает около 12 байт, т.е. в вашем случае получается 12*8000 = 96к, лимит оперативной (runtime) памяти около 100к и есть. Так что если это и возможно, то требует тщательного расчета и подгонки ИМХО.
-------------------- Имею Мнение Хрен Оспоришь |
|||
|
||||
Гость_Mihail |
|
|||
Unregistered |
И всё же сделал так как задумал!
И проверил: создал 16 с лихом тысяч объектов-ячеек(карта размером 127 на 127), на каждую навесил 2 байта (переменные типа byte) и объект. Загрузил по три рисунка на игрока (2 игрока, примерно по 2.89 килобайт графики на каждого игрока, т.к. менять определённый цвет картинки на ходу не хватило производительности). Загрузил ещё рисунков на 15 килобайт и ещё чуть-чуть памяти ушло на содержание других одиночных переменных и объектов. Телефон SonyErricsson k300i заработал без проблем. При этом ещё и перерисовывая карту на весь экран с такой же скоростью, как и при карте размером всего 24 на 24 ячейки. Во как всё круто! |
|||
|
||||
redrick |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 547 Регистрация: 7.1.2004 Где: Москва Репутация: 1 Всего: 5 |
а не пробовал посмотреть сколько реально памяти сжирается ?
или какие ограничения у данного девайса ? -------------------- Имею Мнение Хрен Оспоришь |
|||
|
||||
![]() ![]() ![]() |
FAQ раздела лежит здесь! |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |