Логин:
Пароль:
Настройки
http://lfforever.ru/design/black.css http://lfforever.ru/design/ds_dw.css http://lfforever.ru/design/xmas.css
Присоединяйся к каналу LFF в Discord!
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 2
  • 1
  • 2
  • »
Архив - только для чтения
Фан Форум для LF'айтеров » Прочее » Архив LFF » Описание Дат-системы для построения своих Бэкграундов
Описание Дат-системы для построения своих Бэкграундов
12.06.08 09:55 | #1

Репутация: 169
Постов: 1658
Дат система выполнена в формате XML.

Первая строка: это обьявление xml:
<?xml version="1.0" encoding="utf-8"?>

Далее идёт открывающий тэг корневого элемента, его имя обязательно background:
<background>

В самом конце файла стоит закрывающий тэг корневого элемента:
</background>

Все остальные элементы вложены в корневой элемент background - они и служат блоками стоющими бэкграунд. Каждый такой объект имеет имя: object. Для него также нужен закрывающий тэг:

<object> </object>

Свойства объектов распологаемых на экране игры задаются через атрибуты:
<background width="1200">
width означает ширину бэкграунда в пикселях.

Представленый ниже элемент представляет из себя скроллируемые анимированные факелы из форбибен тауэр:
<object
typeo="sprite"
cycled="true"
bitmap="..\..\..\..\..\backgrounds\\ft\\f1.bmp"
interval="324"
layer="0,1"
speedanim="24"
x="95"
colcount="13"
rowcount="1"
speed="300">
</object>

ОПИСАНИЕ СВОЙСТВ ОБЬЕКТОВ:

x - расположение объекта по горизонтальной оси. Отсчёт координат идёт от верхнего угла от Нуля.

y - расположение объекта по вертикальной оси.

interval - расстояние между обьектами, имеет смысл если count>=1 или если cycled=true

typeo - тип объекта, на данный момент только ssprite, потом добавлю графические примитивы: прямоугольник и другие, добавлю проигрывание Видео и др...

degree - узменения угла обьекта, не помню толи в градусах я делал толи в радианах )) щас проверю....
transp_color - задаётся в виде 4-х байтового 16-ти ричного значения: abff11ff. Первый байт (ab) это красный цвет, второй байт (ff) это зеленый цвет, 3-й байт это голубой цвет, 4-й байт это альфа-канал: для 4-го байта значение 00 означает полностью прозрачное изображение, а ff - полностью не прозрачное изображение.

bitmap - путь к графическому файлу (другому объекту). Поддерживается: bmp, png, jpg, tga, dds, ещё есть какие то щас не помню все.

colcount - используется для создания анимации в основном, определяет сколько будет кадров по вертикали.
rowcount - используется для создания анимации в основном, определяет сколько будет кадров по горизонтали.

width - ширина объекта в пикселях
height - высота объекта в пикселях.

speed - скорость скроллирования объекта, если хотите создать не движимый обьект установите speed=0.

speedanim - скорость анимации изображения (смена кадров в секунду)

cycled - зацикливание объекта до конца экрана, в основном используется для скроллируемых обьектов и отображающихся от начала бэкграунда до его конца.

color - колоризация изображения - изменение цвета, задаётся в виде 16-ти ричного значения также 4 байта: r g b a.

layer - клубина отображения изображения, вещественное число, дробная часть пишется через запятую а не через точку. Диапазон: от 0 до 1. 0- самый дальний объект от вас, 1 - самый близкий объект к вам.

transparency - задаёт степень прозрачности изображения, значения от 0 до 255. 255 - полностью не прозрачное изображение, 0 - полностью прозрачное изображение.

flipstate - переворачивание изображение:
Значения:
0- положение не изменяется
1- переворот по горизонтали
256- переворот по вертикали

count - количество рисуемых обьектов. Если не указывать, устанавливается в значение: 1. Если обьект зациклен (cycled=true) и значение count не указано то количество необходимых обьектов вычисляет программа в зависимости от установленого разрешения.
Если же объект зациклен (cycled=true) и значение count указано, тогда изображение также зацикливается но количество автоматом не подсчитывается, а берётся из (count=).

В блокноте не очень удобно xml файл редактировать поэтому можно воспользоваться: XML Notepad 2007 Мне он понравился, простенький и не много весит.
Вот скрин:



Щёлкните на дракончика, он должен рости!!!
Никто не знает столько, сколько не знаю Я
12.06.08 10:15 | #2

Репутация: 16
Постов: 1872
А можно у себя твою пробу чё-нить начудить???
[ Маленький Фриз говорит: это сообщение было отредактировано!]
12.06.08 10:58 | #3

Репутация: 169
Постов: 1658
Ты можешь полноценный бэкграунд замутить.
для начала модифицируй ft.xml
Пускай там будет вот так:

<?xml version="1.0" encoding="utf-8"?>
<background width="1200">

</background>

Сохрани изменения в файле и запусти игру.
Это будет означать что на экране не будет не одного обьекта.

Добавлено (2008-06-12, 10:58 Am)
---------------------------------------------
Затем добавь один обьект object позадавай различные свойства. Щас я список создам этих свойств. Так ты привыкнишь к дат-системе. Щас дам ссылку на хороший xml-редактор.



Щёлкните на дракончика, он должен рости!!!
Никто не знает столько, сколько не знаю Я
12.06.08 12:22 | #4

Репутация: 416
Постов: 8072
Satanael, ты нас призываешь оставшиеся уровни доделать ? wink
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of tan levels in your blood.
12.06.08 13:07 | #5

Репутация: 169
Постов: 1658
Quote (EdL)
atanael, ты нас призываешь оставшиеся уровни доделать ?

Ага. Это называется разделение труда. А разделение труда это повышение эфективности деятельности.

Вот эти надо попытаться запутить бэкграунды: Stanly Prison, The Great Wall.

Я конечно могу и сам начать тестить дат-систему, тока блин помоемому будет лучше если я дальше буду программировать )))

Добавлено (2008-06-12, 12:44 Pm)
---------------------------------------------
Обновил первый пост.

Добавлено (2008-06-12, 1:02 Pm)
---------------------------------------------
Да небойтесь, после того как убедюсь что дат-система стабильно. Создам для вас Визуальный редактор, чтобы меньше геморо было их стряпать!!!

Добавлено (2008-06-12, 1:07 Pm)
---------------------------------------------
ЫЫЫ походу для дат-системы создающей персов и их приёмы мне придётся книгу написать с рисунками, а то 5 лет разбираться будете... :D



Щёлкните на дракончика, он должен рости!!!
Никто не знает столько, сколько не знаю Я
12.06.08 14:34 | #6

Репутация: 16
Постов: 1872
Я наконец убрал этот злощастный квадрат, зато радости сколько biggrin
12.06.08 15:26 | #7

Репутация: 416
Постов: 8072
Satanael, ну напиши книгу) епт. а ты как хотел. даже на оригинальный лф ещё не все статьи написаны)
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of tan levels in your blood.
12.06.08 19:49 | #8

Репутация: 169
Постов: 1658
Quote (Trey)
Я наконец убрал этот злощастный квадрат, зато радости сколько

Молодец ты первый это сделал! ))))

Добавлено (2008-06-12, 7:49 Pm)
---------------------------------------------
Вот вам картиночка для понимания как делать бэкграунды:

Т.е. в оригинальном ЛФ уйдите в левый угол отсюда лучше и смотреть как что распологается.



Щёлкните на дракончика, он должен рости!!!
Никто не знает столько, сколько не знаю Я
13.06.08 03:14 | #9

Репутация: 16
Постов: 1872
О!
Спасиб...а то я парюсь... happy

13.06.08 08:18 | #10

Репутация: 169
Постов: 1658
Trey, если что не понятно спрашивай.
Вообще как я делал форбибен тауэр. Я спрайты оригинаольно ЛФ модифицировал вот так: каждый блок просто в красный прямоугольник заключил и поствил номер. Т.е. когда я запустил форбибен таэр в оригинальном лф я сразу понел где что как распологается.



Щёлкните на дракончика, он должен рости!!!
Никто не знает столько, сколько не знаю Я
13.06.08 10:56 | #11

Репутация: 16
Постов: 1872
спасиб...будут вопросы - обязательно спрошу...
13.06.08 16:17 | #12

Репутация: 416
Постов: 8072


фича с безграничным уровнем)

а так же я заметл что FPS перса и уровня совпадают и работают нераздельно. перс дышит очень быстро и перемещается тоже. неотличимо от фона огня.

Добавлено (2008-06-13, 4:17 Pm)
---------------------------------------------
небольшой баг движения: при нажатии стрелок "вверх, вперед" перс идет походу примерно под углом в 45 градусов. но если резко отпустить те две клавиши и нажать и держать "вниз", то перс пойдет по диагонали уже вниз, но уже в половину угла от пути по которому он шел на верх, т.е. где то 27,5 градусов. причем движение по диагонали идет одной клавишей. happy

Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of tan levels in your blood.
13.06.08 19:47 | #13

Репутация: 169
Постов: 1658
скорость дыхания я потов в дат-файл вынесу а так там щас стоит: вроде 9 или 8 кадров в секунду....

Добавлено (2008-06-13, 4:58 Pm)
---------------------------------------------
Да я пока тока ширину сделал бэкграунда, высоту не мутил...

Добавлено (2008-06-13, 7:47 Pm)
---------------------------------------------
Щас буду прикручивать проигрывание видео. Его можно будет пото проигрывать в бэкграундах.
Выглядит примерно будет так:

<object
typeo="video"
loop="true"
path="c:\sky.avi"
layer="0,1"
fps="24"
x="95"
y='100'
width='800'
height='50'
</object>



Щёлкните на дракончика, он должен рости!!!
Никто не знает столько, сколько не знаю Я
14.06.08 03:19 | #14

Репутация: 16
Постов: 1872
Сорри за Призон...пока не выходит...вчера к экзамену готовился - 5!!!(Англ.яз) biggrin biggrin biggrin
14.06.08 06:11 | #15

Репутация: 416
Постов: 8072
Satanael, высоту? ну эт как сказать....уровень ведь идет по x,y,z, а не двухмрном x,y. там ниче нельзя делать кроме как ходить, так?
Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of tan levels in your blood.
14.06.08 06:58 | #16

Репутация: 169
Постов: 1658
Да замудте про перса я его замутил просто чтобы бэкграунды менее скучно делать\скроллировать было.

Добавлено (2008-06-14, 6:58 Am)
---------------------------------------------
Всё таки щас добавлю чтобы бесконечо вверхи и вниз не ходил.



Щёлкните на дракончика, он должен рости!!!
Никто не знает столько, сколько не знаю Я
14.06.08 16:30 | #17

Репутация: 416
Постов: 8072
Quote
Всё таки щас добавлю чтобы бесконечо вверхи и вниз не ходил.

хорошо happy

Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of tan levels in your blood.
14.06.08 19:14 | #18

Репутация: 169
Постов: 1658
EdL, ты можешь замуть бэкграунд, понял дат-систему? dry


Щёлкните на дракончика, он должен рости!!!
Никто не знает столько, сколько не знаю Я
14.06.08 21:19 | #19

Репутация: 416
Постов: 8072
Satanael, понял, но пока времени не представтся возится.
потом.

Coding in Assembly requires a mix of:
80% of brain, passion, intuition, creativity
10% of programming skills
10% of tan levels in your blood.
14.06.08 22:01 | #20

Репутация: 169
Постов: 1658
EdL, ясно


Щёлкните на дракончика, он должен рости!!!
Никто не знает столько, сколько не знаю Я
Фан Форум для LF'айтеров » Прочее » Архив LFF » Описание Дат-системы для построения своих Бэкграундов
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: