Показать сообщение отдельно
Старый 24.02.2011, 03:12   #1
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений
(для 219 пользователей)
Lib_Tiles - тайлсет и все о нем.

Эта библиотека реализует стандартный класс javax.microedition.lcdui.game.TiledLayer. То есть с ее помощью вы можете создавать и полностью контроллировать тайлсет.
То есть вы можете с легкостью собрать такой уровень:
Нажмите на изображение для увеличения
Название: temp4.png
Просмотров: 1445
Размер:	6.8 Кб
ID:	12787
из такого изображения:
Нажмите на изображение для увеличения
Название: platform.png
Просмотров: 1390
Размер:	12.9 Кб
ID:	12789
Использование тайлсета имеет значительное преимущество по скорости прорисовки, по сравнению с выводом на экран индивидуальных изображений, и может значительно улучшить быстродействие игры.

Функции:
-------------------------------- Главные функции

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, которую можно найти в этом же разделе.

Удачного создания игр!
Вложения
Тип файла: zip TileTest.zip (21.8 Кб, 861 просмотров)
Тип файла: zip Lib_tiles.zip (3.8 Кб, 870 просмотров)
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
Amigo888 (05.01.2012), im_zorg (26.03.2011), LLI.T.A.L.K.E.R. (27.03.2011), odd (12.03.2011), scimitar (02.03.2011)