Эта библиотека реализует стандартный класс javax.microedition.lcdui.game.TiledLayer. То есть с ее помощью вы можете создавать и полностью контроллировать тайлсет.
То есть вы можете с легкостью собрать такой уровень:
из такого изображения:
Использование тайлсета имеет значительное преимущество по скорости прорисовки, по сравнению с выводом на экран индивидуальных изображений, и может значительно улучшить быстродействие игры.
Функции:
-------------------------------- Главные функции
TilesCreate(columns, rows, source, tileWidth, tileHeight)
columns:integer Количество столбцов (ширина)
rows:integer Количество строк (высота)
source:image Исходное изображение
tileWidth:integer Ширина тайла*
tileHeight:integer Высота тайла*
Создает и инициализирует тайлсет на указанный размер.
*Тайл - индивидуальное маленькое изображение в картинке.
TilesFree()
Уничтожает тайлсет, освобождая занятую им память.
При создании это выполняется автоматически.
TilesDraw()
Рисует тайлсет на текущих координатах.
-------------------------------- Манипуляции над тайлами
TilesSet(column, row, index)
column:integer Номер столбца (0 = первый)
row:integer Номер строки (0 = первая)
index:integer Индекс тайла (0 = пусто)
Меняет индекс тайла на указанной позиции.
TilesRect(column, row, columns, rows, index)
column:integer Номер столбца верхнего левого угла
row:integer Номер строки верхнего левого угла
columns:integer Ширина (в столбцах)
rows:integer Высота (в строках)
index:integer Новый индекс
Изменяет индекс всех тайлов в прямоугольнике.
TilesGet(column, row): index
column:integer Номер столбца (0 = первый)
row:integer Номер строки (0 = первая)
index:integer Возращаемый индекс тайла (0 = пусто)
Возращает индекс тайла на указанной позиции
-------------------------------- Анимированные тайлы
TilesNewAni(index): animindex
index:integer Номер статичного тайла
animindex:integer Индекс анимированного тайла
Создает новый тип анимированного тайла и возращает его
индекс. Индекс используется в других функциях.
TilesSetAni(animindex, index)
animindex:integer Индекс анимированного тайла
index:integer Индекс статичного тайла
Изменяет изображения всех анимированных тайлов с индексом
animindex на изображение статичного тайла index.
TilesGetAni(animindex): index
Возращает текущий индекс статичного тайла, используемого
анимированным тайлом с индексом animindex.
-------------------------------- Свойства и прочее
TilesColumns: integer
Возращает количество столбцов тайлсета.
TilesRows: integer
Возращает количество строк тайлсета.
TilesCellWidth: integer
Возращает ширину индивидуального тайла.
TilesCellHeight: integer
Возращает высоту индивидуального тайла.
TilesWidth: integer
Возращает общую ширину тайлсета (в пикселях).
TilesHeight: integer
Возращает общую ширину тайлсета (в пикселях).
-------------------------------- Позиция и перемещение
TilesX: integer
Возращает X координату позиции тайлсета.
TilesY: integer
Возращает Y координату позиции тайлсета.
TilesTo(x, y)
x:integer Новое значение X-координаты
y:integer Новое значение Y-координаты
Изменяет позицию тайлсета.
TilesMove(x, y)
x:integer Смещение по X
y:integer Смещение по Y
Перемещает тайлсет (относительно текущих координат)
-------------------------------- Прочее
TilesChange(source, tileWidth, tileHeight)
source:image Новое изображение для тайлсета
tileWidth:integer Ширина тайла
tileHeight:integer Высота тайла
Меняет изображение, используемое тайлсетом.
Полезно для смены стиля уровня.
Информация о вариантах библиотеки:
Lib_tiles - стандартный вариант библиотеки, который обеспечивает максимальное быстродействие но чуствителен к неправильным параметрам.
Lib_tilesx - модифицированный вариант, который проводит проверку и адаптацию параметров, чтобы избежать краха программы.
Информация о вложениях:
Lib_tiles.zip - две версии библиотеки и текстовый файл с документацией по функцием.
TileTest.zip - проект-пример: движок игры-платформера с плавным передвижением, камерой, и системой загрузки уровней из файлов. Изображения взяты из него же. Для компиляции вам потребуется библиотека Lib_keys, которую можно найти в этом же разделе.
Удачного создания игр!