|
24.02.2011, 03:12
|
#1
|
ПроЭктировщик
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений (для 219 пользователей)
|
Lib_Tiles - тайлсет и все о нем.
Эта библиотека реализует стандартный класс 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, которую можно найти в этом же разделе.
Удачного создания игр!
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
|
|
18.03.2011, 03:27
|
#2
|
ПроЭктировщик
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений (для 219 пользователей)
|
Ответ: Lib_Tiles - тайлсет и все о нем.
Поскольку просмотры темы есть, ответов нет, и количество скачиваний игры-примера превышает количество скачиваний библиотеки (без которой игру-пример нельзя скомпилировать), вот скомпилированный вариант: TilesTest.zip
Так же считаю нужным заметить, что где-то ~половину кода примера занимают две функции, поскольку они реализуют столкновения (Moving)BoundingBox-Tilemap (то есть позволяют передвигать обьект на любое расстояние внутри карты).
Дополнительно: скриншот игры подобной PipeDreams на NES, сделанной с использованием этой библиотеки. Сама игра пока что, увы, не доделана до момента когда ее можно было бы выкладывать сюда.
__________________
Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
|
|
26.03.2011, 08:24
|
#3
|
Знающий
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений (для 61 пользователей)
|
Ответ: Lib_Tiles - тайлсет и все о нем.
Прикольная либа +1). Был бы пример анимированных тайлов...
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
26.03.2011, 16:24
|
#4
|
ПроЭктировщик
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений (для 219 пользователей)
|
Ответ: Lib_Tiles - тайлсет и все о нем.
Сообщение от im_zorg
Прикольная либа +1). Был бы пример анимированных тайлов...
|
Сделано. (Вложения)
__________________
Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
|
|
26.03.2011, 23:01
|
#5
|
Знающий
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений (для 61 пользователей)
|
Ответ: Lib_Tiles - тайлсет и все о нем.
Оо спасибо!! найти бы такой же примерчик но только на чистом мп)а так зачёт)
|
(Offline)
|
|
27.03.2011, 00:32
|
#6
|
ПроЭктировщик
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений (для 219 пользователей)
|
Ответ: Lib_Tiles - тайлсет и все о нем.
Сообщение от im_zorg
Оо спасибо!! найти бы такой же примерчик но только на чистом мп)а так зачёт)
|
Всмысле без использования библиотек? Если так, то см. (Вложения).
Конечно, код получается немного длинее (+30 строк ради подгрузчика кусков изображения и прорисовки тайлсета), и немного менее гибкий. Но работает и выглядит так же как и либ-версия.
__________________
Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
|
|
27.03.2011, 12:09
|
#7
|
Знающий
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений (для 61 пользователей)
|
Ответ: Lib_Tiles - тайлсет и все о нем.
Спасибо! Так же спасибо за пример к либе keys пишу новую игрушку... Твои примеры помогают....
|
(Offline)
|
|
17.04.2011, 19:48
|
#8
|
Бывалый
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений (для 215 пользователей)
|
Ответ: Lib_Tiles - тайлсет и все о нем.
Со всем разобрался, пост стерт.
Последний раз редактировалось cherepets, 17.04.2011 в 21:50.
|
(Offline)
|
|
17.04.2011, 21:11
|
#9
|
Бывалый
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений (для 215 пользователей)
|
Ответ: Lib_Tiles - тайлсет и все о нем.
Изображение на нокиах 40й серии немного дергается, как от этого избавиться?
Лишняя перерисовка происходит при вызове tilesdraw;
Последний раз редактировалось cherepets, 20.04.2011 в 14:33.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 23:47.
|