Progress — различия между версиями
Igood (обсуждение | вклад) (→Стандартные свойства) |
Achet (обсуждение | вклад) (→Основные параметры) |
||
(не показано 55 промежуточных версий 11 участников) | |||
Строка 1: | Строка 1: | ||
− | + | {{TOC right}} | |
− | + | == Общие сведения == | |
+ | [[Object|объект]] '''Progress''' используют для отображения каких либо ачивментов, например когда игрок проходить уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую. | ||
− | ''' | + | == Основные параметры == |
− | ''' | + | [[Файл:Progress_properties.png|250px|right]] |
− | ''' | + | *'''тип''' - тип прогрессбара: 0 - анимационный, 1 - линейный, 2 - дугообразный; |
− | ''' | + | * '''имя''' - объекта в дереве проекта. Может быть произвольным |
− | ''' | + | * '''синхронизация''' - синхронизация между лейаутами: нет - нет синхронизации; да - есть синхронизация. |
− | ''' | + | * '''положение''' |
− | ''' | + | ** '''x''' - положение объекта по оси х |
− | + | ** '''y''' - положение объекта по оси y | |
+ | * '''размер''' | ||
+ | ** '''w''' - ширина объекта в пикслях | ||
+ | ** '''h''' - высота объекта в пикселях | ||
+ | * '''модификаторы''' | ||
+ | ** '''alpha''' - прозрачность объекта от 0 (прозрачен) до 1 (не прозрачен) | ||
+ | ** '''blending''' - Alpha смешивание: parent=0, blend=1, half=2, add=3, sub=4, none=5 | ||
+ | ** '''angle''' - угол поворота в градусах. 0 - не повернут. Отсчитывается от оси х вниз. Вверх идут отрицательные углы. | ||
+ | ** '''scale x''' - масштаб по оси х: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д. | ||
+ | ** '''scale y''' - масштаб по оси y: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д. | ||
+ | * '''память''' - если 1 - не обновляет свои параметры при последующем открытии экрана, 0 - обновляет | ||
+ | * '''z''' - параметр порядка рисования объекта. Сначала рисуются объекты с большим z, а под ними с меньшим | ||
+ | * '''тайлинг''' - если да - включить тайлинг | ||
+ | * '''прокликиваемая''' - если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то картинка сама обрабатывает клик, но и пропускает его дальше | ||
− | + | *'''игра''' ''(game)'' - Имя игры (раздела в опциях), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). | |
− | + | *'''уровень''' ''(level)'' - Имя уровня (параметра в разделе игра - см.выше), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). Для каждого прогресса разделы равны: [game.]level0, [game.]level1,... | |
+ | *'''сохранять в профиль''' ''(prof)'' - Если = 1, то значение будет сохранено в текущий профиль, если 0 - то глобально. | ||
+ | |||
+ | *'''тип изменения''' ''(chType)'' - Тип изменения (увеличение (0), уменьшение (1)).Если параметр меняется то прогрессу нужно передать состояние ('''init''') ! | ||
+ | |||
+ | *'''изменение''' ''(chVal)'' - Изменение значения прогреса при вызове состояния next | ||
+ | |||
+ | *'''значение''' ''(val)'' - Текущее значение прогрессбара | ||
+ | |||
+ | *'''мин.зн''' ''(minVal)'' - Минимальное значение прогрессбара | ||
+ | |||
+ | *'''макс.зн''' ''(maxVal)'' - Максимальное значение прогрессбара | ||
+ | |||
+ | *'''нахлест заполнителя''' ''(cov)'' - Нахлест текстур заполнителя в пикселях | ||
+ | |||
+ | *'''скорость''' ''(vel)'' - Скорость анимации изменения прогреса в точках за секунду | ||
+ | |||
+ | '''Группа - позиционирование''' | ||
+ | |||
+ | *'''горизонтальное''' - 0 - нет выравнивания; 1 - прижать к левому краю; 2 - центр; 3 - к правому | ||
+ | |||
+ | *'''вертикальное''' - 0 - нет выравнивания; 1 - прижать к верхнему краю; 2 - центр; 3 - к нижнему | ||
+ | |||
+ | '''Группа - ресурсы''' | ||
+ | |||
+ | *'''нач.граница''' ''(resBBord)'' - Ресурс, который рисуется в начальной точке прогрессбара | ||
+ | |||
+ | *'''заполнитель''' ''(resTail)'' - Ресурс, который будет тайлиться в зависимости от заполнения прогресса | ||
+ | |||
+ | *'''указатель''' ''(resCurr)'' - Ресурс, который рисуется в текущей точке прогрессбара | ||
+ | |||
+ | *'''объект указатель''' ''(objCurr)'' - Объект, который рисуется в текущей точке прогрессбара | ||
+ | |||
+ | '''Группа - анимационный''' | ||
+ | |||
+ | *'''res''' ''(res)'' — в качестве графического ресурса используется анимация с нужным на количеством кадров. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования) | ||
+ | |||
+ | *'''количество''' ''(num)'' — количество прогресс баров | ||
+ | |||
+ | *'''dx''' ''(dx)'' — расстояние между прогресс барами по X, если их больше 1 | ||
+ | |||
+ | *'''dy''' ''(dy)'' — расстояние между прогресс барами по Y, если их больше 1 | ||
+ | |||
+ | *'''вертикальный''' ''(ver)'' – если 1, то прогресс бар будет размножен вертикально, 0 - горизонтально | ||
+ | |||
+ | '''Группа - дугообразный''' | ||
+ | |||
+ | *'''нач.угол''' ''(angBeg)'' - Угол, с которого рисуем дугу | ||
+ | |||
+ | *'''угол дуги''' ''(angCurv)'' - Угол в котором дуга завершается | ||
+ | |||
+ | *'''направление''' ''(angDir)'' - Направление угла дуги. 0-по часовой стрелке, 1-против часовой стрелки | ||
+ | |||
+ | ==Добавляемые параметры== | ||
+ | Меню выбора ''Добавляемые параметры'' к объектам активируется по нажатию правой кнопки мыши. | ||
+ | |||
+ | [[Файл:+.png]] '''диапазон''' - Диапазон при котором меняется заполнитель. | ||
+ | |||
+ | *'''нач.зн''' - Начальное значение прогрессбара | ||
+ | |||
+ | *'''кон.зн''' - Конечное значение прогрессбара | ||
+ | |||
+ | *'''заполнитель''' - Ресурс, который будет тайлиться когда прогрессбар принимает значение из диапазона | ||
+ | |||
+ | *'''нач объект''' - При входе в диапазон перевести объект в состояние из следующего поля | ||
+ | |||
+ | *'''нач состояние''' - Новое состояние для объекта из предыдущего поля | ||
+ | |||
+ | *'''нач объект''' - При выходе из диапазона перевести объект в состояние из следующего поля | ||
+ | |||
+ | *'''нач состояние''' - Новое состояние для объекта из предыдущего поля | ||
+ | |||
+ | [[Файл:+.png]] '''Изменилось значение: изменить параметры объекта''' - после изменения значения прогресбара изменить параметр объекта. | ||
+ | |||
+ | *'''объект''' - объект, состояние которого меняем | ||
+ | |||
+ | *'''свойство''' - параметр, который мы изменяем | ||
+ | |||
+ | *'''значение''' - новое значение параметра | ||
+ | |||
+ | [[Файл:+.png]] '''Изменилось значение: изменить состояние объекта''' - после изменения значения прогресбара перевести объект в новое состояние. | ||
+ | |||
+ | *'''объект''' - объект, состояние которого меняем | ||
+ | |||
+ | *'''состояние''' - новое состояние для объекта из предыдущего поля | ||
+ | |||
+ | [[Файл:+.png]] '''Завершен прогрес: изменить параметры объекта''' - после завершения прогреса изменить параметр объекта. | ||
+ | |||
+ | *'''объект''' - объект, состояние которого меняем | ||
+ | |||
+ | *'''свойство''' - параметр, который мы изменяем | ||
+ | |||
+ | *'''значение''' - новое значение параметра | ||
+ | |||
+ | [[Файл:+.png]] '''Завершен прогрес: изменить состояние объекта''' - после завершения прогресса перевести объект в новое состояние. | ||
+ | |||
+ | *'''объект''' - объект, состояние которого меняем | ||
+ | |||
+ | *'''состояние''' - новое состояние для объекта из предыдущего поля | ||
+ | |||
+ | = Использование объекта = | ||
+ | |||
+ | Для отображения нужного кадра анимации прогресс бар вычитывает данные из [[Options]] в зависимости от значения 0,1,2.... показывает определенный фрейм анимации<br> | ||
+ | Чтение значений из опций осуществляется с помощью полей '''''игра''''' и '''''уровень'''''<br> | ||
+ | Эти параметры можно менять с помощью машин, тогда прогресс будет вычитывать разные значения.<br> | ||
+ | |||
+ | Ниже приведена запись из опций с которых прогресс вычитает значения: | ||
− | |||
<pk1> | <pk1> | ||
− | <pz01 lv0="2" | + | <pz01 lv0="2" lv1="1"/> |
− | |||
</pk1> | </pk1> | ||
− | + | У нас есть два значения lv0="2" и lv1="1" | |
− | В | + | |
− | + | Напоминаем, что у нас есть такое поле как '''количество''' и мы может одним progress`ом вычитать эти два значения и отобразить если поставим кол-во = 2.<br> | |
+ | Для этого в поле игра мы пишем "pk1.pz01", а в уровень пишем просто "lv". Запись в опциях lv0 и lv1 означает что это значения для прогресс бара с кол-ом = 2 и в первую свою копию он считает значение lv0 во вторую lv1 и отобразит две к примеру звезды и каждую со своим фреймом.<br> | ||
+ | pk01, pz01, lv0, lv1 и т.д. это просто ключи по которым прогресс вычитывает нужные значение, по-этому они могут быть произвольными.<br> | ||
+ | |||
+ | '''Одно только правило:''' Если у нас указано кол-во. То в опции параметр уровень мы должны записывать с числовой приставкой (например lv0,lv1,lv2) и т.д. Если у нас кол = 1, то прогресс будет вычитывать значение из lv0. | ||
+ | |||
+ | При работе с '''дуговым''' прогрессом важно знать: | ||
+ | |||
+ | Радиус дуги = высота прогресса / 2 . Центр окружности в точке пересечений диагоналей объекта прогресс. | ||
+ | |||
+ | = Передаваемые состояния = | ||
+ | |||
+ | :'''next''' - добавит к текущему значению ''chVal''(''изменение'') и визуально c скоростью "vel" (''скорость'') сменит своё состояние ("при увеличении" - станет более заполненным); | ||
+ | |||
+ | = Пример= | ||
+ | Пример использования объекта, типа Progress в хидденах: | ||
+ | |||
+ | [[Файл:Progress1_1.jpg|700px]] [[Файл:Progress2_1.jpg|205px]] | ||
+ | |||
+ | В данном примере используется 2 объекта типа Progress, тип которых - линейный: 1 - combo_progress для отображения комбо прогресса в очковой системе хидденлиста,<br /> 2 - cnt_prgss для отображения количества найденных объектов. | ||
+ | |||
+ | Параметры объектов типа Progress следующие: | ||
+ | |||
+ | [[Файл:Progress3_1.jpg|250px]] [[Файл:Progress4_1.jpg|250px]] | ||
+ | |||
+ | [[Category:Main objects]] |
Текущая версия на 13:17, 18 июня 2018
Общие сведения
объект Progress используют для отображения каких либо ачивментов, например когда игрок проходить уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую.
Основные параметры
- тип - тип прогрессбара: 0 - анимационный, 1 - линейный, 2 - дугообразный;
- имя - объекта в дереве проекта. Может быть произвольным
- синхронизация - синхронизация между лейаутами: нет - нет синхронизации; да - есть синхронизация.
- положение
- x - положение объекта по оси х
- y - положение объекта по оси y
- размер
- w - ширина объекта в пикслях
- h - высота объекта в пикселях
- модификаторы
- alpha - прозрачность объекта от 0 (прозрачен) до 1 (не прозрачен)
- blending - Alpha смешивание: parent=0, blend=1, half=2, add=3, sub=4, none=5
- angle - угол поворота в градусах. 0 - не повернут. Отсчитывается от оси х вниз. Вверх идут отрицательные углы.
- scale x - масштаб по оси х: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.
- scale y - масштаб по оси y: 1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.
- память - если 1 - не обновляет свои параметры при последующем открытии экрана, 0 - обновляет
- z - параметр порядка рисования объекта. Сначала рисуются объекты с большим z, а под ними с меньшим
- тайлинг - если да - включить тайлинг
- прокликиваемая - если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то картинка сама обрабатывает клик, но и пропускает его дальше
- игра (game) - Имя игры (раздела в опциях), который надо вычитать для получения начального значения прогресса (например, для отображения результатов).
- уровень (level) - Имя уровня (параметра в разделе игра - см.выше), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). Для каждого прогресса разделы равны: [game.]level0, [game.]level1,...
- сохранять в профиль (prof) - Если = 1, то значение будет сохранено в текущий профиль, если 0 - то глобально.
- тип изменения (chType) - Тип изменения (увеличение (0), уменьшение (1)).Если параметр меняется то прогрессу нужно передать состояние (init) !
- изменение (chVal) - Изменение значения прогреса при вызове состояния next
- значение (val) - Текущее значение прогрессбара
- мин.зн (minVal) - Минимальное значение прогрессбара
- макс.зн (maxVal) - Максимальное значение прогрессбара
- нахлест заполнителя (cov) - Нахлест текстур заполнителя в пикселях
- скорость (vel) - Скорость анимации изменения прогреса в точках за секунду
Группа - позиционирование
- горизонтальное - 0 - нет выравнивания; 1 - прижать к левому краю; 2 - центр; 3 - к правому
- вертикальное - 0 - нет выравнивания; 1 - прижать к верхнему краю; 2 - центр; 3 - к нижнему
Группа - ресурсы
- нач.граница (resBBord) - Ресурс, который рисуется в начальной точке прогрессбара
- заполнитель (resTail) - Ресурс, который будет тайлиться в зависимости от заполнения прогресса
- указатель (resCurr) - Ресурс, который рисуется в текущей точке прогрессбара
- объект указатель (objCurr) - Объект, который рисуется в текущей точке прогрессбара
Группа - анимационный
- res (res) — в качестве графического ресурса используется анимация с нужным на количеством кадров. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования)
- количество (num) — количество прогресс баров
- dx (dx) — расстояние между прогресс барами по X, если их больше 1
- dy (dy) — расстояние между прогресс барами по Y, если их больше 1
- вертикальный (ver) – если 1, то прогресс бар будет размножен вертикально, 0 - горизонтально
Группа - дугообразный
- нач.угол (angBeg) - Угол, с которого рисуем дугу
- угол дуги (angCurv) - Угол в котором дуга завершается
- направление (angDir) - Направление угла дуги. 0-по часовой стрелке, 1-против часовой стрелки
Добавляемые параметры
Меню выбора Добавляемые параметры к объектам активируется по нажатию правой кнопки мыши.
диапазон - Диапазон при котором меняется заполнитель.
- нач.зн - Начальное значение прогрессбара
- кон.зн - Конечное значение прогрессбара
- заполнитель - Ресурс, который будет тайлиться когда прогрессбар принимает значение из диапазона
- нач объект - При входе в диапазон перевести объект в состояние из следующего поля
- нач состояние - Новое состояние для объекта из предыдущего поля
- нач объект - При выходе из диапазона перевести объект в состояние из следующего поля
- нач состояние - Новое состояние для объекта из предыдущего поля
Изменилось значение: изменить параметры объекта - после изменения значения прогресбара изменить параметр объекта.
- объект - объект, состояние которого меняем
- свойство - параметр, который мы изменяем
- значение - новое значение параметра
Изменилось значение: изменить состояние объекта - после изменения значения прогресбара перевести объект в новое состояние.
- объект - объект, состояние которого меняем
- состояние - новое состояние для объекта из предыдущего поля
Завершен прогрес: изменить параметры объекта - после завершения прогреса изменить параметр объекта.
- объект - объект, состояние которого меняем
- свойство - параметр, который мы изменяем
- значение - новое значение параметра
Завершен прогрес: изменить состояние объекта - после завершения прогресса перевести объект в новое состояние.
- объект - объект, состояние которого меняем
- состояние - новое состояние для объекта из предыдущего поля
Использование объекта
Для отображения нужного кадра анимации прогресс бар вычитывает данные из Options в зависимости от значения 0,1,2.... показывает определенный фрейм анимации
Чтение значений из опций осуществляется с помощью полей игра и уровень
Эти параметры можно менять с помощью машин, тогда прогресс будет вычитывать разные значения.
Ниже приведена запись из опций с которых прогресс вычитает значения:
<pk1> <pz01 lv0="2" lv1="1"/> </pk1>
У нас есть два значения lv0="2" и lv1="1"
Напоминаем, что у нас есть такое поле как количество и мы может одним progress`ом вычитать эти два значения и отобразить если поставим кол-во = 2.
Для этого в поле игра мы пишем "pk1.pz01", а в уровень пишем просто "lv". Запись в опциях lv0 и lv1 означает что это значения для прогресс бара с кол-ом = 2 и в первую свою копию он считает значение lv0 во вторую lv1 и отобразит две к примеру звезды и каждую со своим фреймом.
pk01, pz01, lv0, lv1 и т.д. это просто ключи по которым прогресс вычитывает нужные значение, по-этому они могут быть произвольными.
Одно только правило: Если у нас указано кол-во. То в опции параметр уровень мы должны записывать с числовой приставкой (например lv0,lv1,lv2) и т.д. Если у нас кол = 1, то прогресс будет вычитывать значение из lv0.
При работе с дуговым прогрессом важно знать:
Радиус дуги = высота прогресса / 2 . Центр окружности в точке пересечений диагоналей объекта прогресс.
Передаваемые состояния
- next - добавит к текущему значению chVal(изменение) и визуально c скоростью "vel" (скорость) сменит своё состояние ("при увеличении" - станет более заполненным);
Пример
Пример использования объекта, типа Progress в хидденах:
В данном примере используется 2 объекта типа Progress, тип которых - линейный: 1 - combo_progress для отображения комбо прогресса в очковой системе хидденлиста,
2 - cnt_prgss для отображения количества найденных объектов.
Параметры объектов типа Progress следующие: