Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для мобильных телефонов > MidletPascal > Библиотеки

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

Эта библиотека реализует стандартный класс javax.microedition.lcdui.game.TiledLayer. То есть с ее помощью вы можете создавать и полностью контроллировать тайлсет.
То есть вы можете с легкостью собрать такой уровень:
Нажмите на изображение для увеличения
Название: temp4.png
Просмотров: 1434
Размер:	6.8 Кб
ID:	12787
из такого изображения:
Нажмите на изображение для увеличения
Название: platform.png
Просмотров: 1379
Размер:	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 Кб, 845 просмотров)
Тип файла: zip Lib_tiles.zip (3.8 Кб, 856 просмотров)
(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)
Старый 18.03.2011, 03:27   #2
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений
(для 219 пользователей)
Ответ: Lib_Tiles - тайлсет и все о нем.

Поскольку просмотры темы есть, ответов нет, и количество скачиваний игры-примера превышает количество скачиваний библиотеки (без которой игру-пример нельзя скомпилировать), вот скомпилированный вариант: TilesTest.zip

Так же считаю нужным заметить, что где-то ~половину кода примера занимают две функции, поскольку они реализуют столкновения (Moving)BoundingBox-Tilemap (то есть позволяют передвигать обьект на любое расстояние внутри карты).

Нажмите на изображение для увеличения
Название: temp3.png
Просмотров: 1462
Размер:	10.6 Кб
ID:	13004
Дополнительно: скриншот игры подобной PipeDreams на NES, сделанной с использованием этой библиотеки. Сама игра пока что, увы, не доделана до момента когда ее можно было бы выкладывать сюда.
__________________

Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
Amigo888 (05.01.2012), im_zorg (26.03.2011), LLI.T.A.L.K.E.R. (27.03.2011)
Старый 26.03.2011, 08:24   #3
im_zorg
Знающий
 
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений
(для 61 пользователей)
Ответ: Lib_Tiles - тайлсет и все о нем.

Прикольная либа +1). Был бы пример анимированных тайлов...
__________________
Я вернулсо в мидлет паскаль О_о уже написал новый проект Сайт моей компании: http://mpcompany.ucoz.com/ Сайт проекта "Путник" : http://putnik-project.ru/
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
YellowAfterlife (26.03.2011)
Старый 26.03.2011, 16:24   #4
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений
(для 219 пользователей)
Ответ: Lib_Tiles - тайлсет и все о нем.

Сообщение от im_zorg Посмотреть сообщение
Прикольная либа +1). Был бы пример анимированных тайлов...
Сделано. (Вложения)
Миниатюры
Нажмите на изображение для увеличения
Название: temp5.png
Просмотров: 1330
Размер:	3.1 Кб
ID:	13109  
Вложения
Тип файла: zip TileTestA.zip (26.4 Кб, 808 просмотров)
__________________

Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
DIMMON4IK (26.03.2011), im_zorg (26.03.2011), LLI.T.A.L.K.E.R. (27.03.2011)
Старый 26.03.2011, 23:01   #5
im_zorg
Знающий
 
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений
(для 61 пользователей)
Ответ: Lib_Tiles - тайлсет и все о нем.

Оо спасибо!! найти бы такой же примерчик но только на чистом мп)а так зачёт)
__________________
Я вернулсо в мидлет паскаль О_о уже написал новый проект Сайт моей компании: http://mpcompany.ucoz.com/ Сайт проекта "Путник" : http://putnik-project.ru/
(Offline)
 
Ответить с цитированием
Старый 27.03.2011, 00:32   #6
YellowAfterlife
ПроЭктировщик
 
Аватар для YellowAfterlife
 
Регистрация: 19.02.2011
Сообщений: 134
Написано 81 полезных сообщений
(для 219 пользователей)
Радость Ответ: Lib_Tiles - тайлсет и все о нем.

Сообщение от im_zorg Посмотреть сообщение
Оо спасибо!! найти бы такой же примерчик но только на чистом мп)а так зачёт)
Всмысле без использования библиотек? Если так, то см. (Вложения).
Конечно, код получается немного длинее (+30 строк ради подгрузчика кусков изображения и прорисовки тайлсета), и немного менее гибкий. Но работает и выглядит так же как и либ-версия.
Вложения
Тип файла: zip TilesTestI.zip (20.7 Кб, 785 просмотров)
__________________

Мой сайт-блог. Игры, обновления, примеры для Haxe, JavaScript(+HTML5), GameMaker, Love2d...
(Offline)
 
Ответить с цитированием
Эти 2 пользователя(ей) сказали Спасибо YellowAfterlife за это полезное сообщение:
im_zorg (27.03.2011), LLI.T.A.L.K.E.R. (27.03.2011)
Старый 27.03.2011, 12:09   #7
im_zorg
Знающий
 
Регистрация: 25.10.2009
Сообщений: 338
Написано 53 полезных сообщений
(для 61 пользователей)
Ответ: Lib_Tiles - тайлсет и все о нем.

Спасибо! Так же спасибо за пример к либе keys пишу новую игрушку... Твои примеры помогают....
__________________
Я вернулсо в мидлет паскаль О_о уже написал новый проект Сайт моей компании: http://mpcompany.ucoz.com/ Сайт проекта "Путник" : http://putnik-project.ru/
(Offline)
 
Ответить с цитированием
Старый 17.04.2011, 19:48   #8
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Lib_Tiles - тайлсет и все о нем.

Со всем разобрался, пост стерт.

Последний раз редактировалось cherepets, 17.04.2011 в 21:50.
(Offline)
 
Ответить с цитированием
Старый 17.04.2011, 21:11   #9
cherepets
Бывалый
 
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений
(для 215 пользователей)
Ответ: Lib_Tiles - тайлсет и все о нем.

Изображение на нокиах 40й серии немного дергается, как от этого избавиться?
Лишняя перерисовка происходит при вызове tilesdraw;

Последний раз редактировалось cherepets, 20.04.2011 в 14:33.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 08:40.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com