Progress — различия между версиями

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Как работает)
(Основные параметры)
 
(не показаны 34 промежуточные версии 6 участников)
Строка 1: Строка 1:
 
{{TOC right}}
 
{{TOC right}}
'''Общие сведения'''
+
== Общие сведения ==
<br>
+
[[Object|объект]] '''Progress''' используют для отображения каких либо ачивментов, например когда игрок проходить уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую.
Объект Progress используют для отображения каких либо ачивментов, например когда игрок проходить уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую.
 
<br>
 
  
 
== Основные параметры ==
 
== Основные параметры ==
 
[[Файл:Progress_properties.png|250px|right]]
 
[[Файл:Progress_properties.png|250px|right]]
'''тип''' - тип прогрессбара: 0 - анимационный, 1 - линейный, 2 - дугообразный;
+
*'''тип''' - тип прогрессбара: 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)'' - Имя игры (раздела в опциях), который надо вычитать для получения начального значения прогресса (например, для отображения результатов).
  
*'''x''' - координата объекта по оси X;
+
*'''уровень''' ''(level)'' - Имя уровня (параметра в разделе игра - см.выше), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). Для каждого прогресса разделы равны: [game.]level0, [game.]level1,...
*'''y''' - координата объекта по оси Y;
 
  
'''Группа - размер'''
+
*'''сохранять в профиль''' ''(prof)'' - Если = 1, то значение будет сохранено в текущий профиль, если 0 - то глобально.
  
*'''w''' - ширина объекта;
+
*'''тип изменения''' ''(chType)'' - Тип изменения (увеличение (0), уменьшение (1)).Если параметр меняется то прогрессу нужно передать состояние ('''init''') !
*'''h''' - высота объекта;
 
  
'''Группа - модификаторы'''
+
*'''изменение''' ''(chVal)'' - Изменение значения прогреса при вызове состояния next
  
*'''alpha''' - прозрачность объекта;
+
*'''значение''' ''(val)'' - Текущее значение прогрессбара
*'''angle''' - угол на который повернут объект;
 
*'''scale x''' - масштабирование объекта по оси X;
 
*'''scale y''' - масштабирование объекта по оси Y;
 
*'''тайлинг''' - замощение текстуры;
 
  
'''z''' - параметр порядка рисования объекта. Сначала рисуются объекты с большим z;
+
*'''мин.зн''' ''(minVal)'' - Минимальное значение прогрессбара
  
'''память''' - память объекта. если 1, то в текущей игровой сессии объект не будет переиничиваться;
+
*'''макс.зн''' ''(maxVal)'' - Максимальное значение прогрессбара
  
'''сохранять в профиль''' ''(prof)'' - Если = 1, то значение будет сохранено в текущий профиль, если 0 - то глобально.
+
*'''нахлест заполнителя''' ''(cov)'' - Нахлест текстур заполнителя в пикселях
  
'''игра''' ''(game)'' - Имя игры (раздела в опциях), который надо вычитать для получения начального значения прогресса (например, для отображения результатов).
+
*'''скорость''' ''(vel)'' - Скорость анимации изменения прогреса в точках за секунду
  
'''уровень''' ''(level)'' - Имя уровня (параметра в разделе игра - см.выше), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). Для каждого прогресса разделы равны: [game.]level0, [game.]level1,...
+
'''Группа - позиционирование'''
  
'''тип изменения''' ''(chType)'' - Тип изменения (увеличение, уменьшение)
+
*'''горизонтальное''' - 0 - нет выравнивания; 1 - прижать к левому краю; 2 - центр; 3 - к правому
  
'''изменение''' ''(chVal)'' - Изменение значения прогреса при вызове состояния next
+
*'''вертикальное''' - 0 - нет выравнивания; 1 - прижать к верхнему краю; 2 - центр; 3 - к нижнему
  
'''значение''' ''(val)'' - Текущее значение прогрессбара
+
'''Группа - ресурсы'''
  
'''мин.зн''' ''(minVal)'' - Минимальное значение прогрессбара
+
*'''нач.граница''' ''(resBBord)'' - Ресурс, который рисуется в начальной точке прогрессбара
  
'''макс.зн''' ''(maxVal)'' - Максимальное значение прогрессбара
+
*'''заполнитель''' ''(resTail)'' - Ресурс, который будет тайлиться в зависимости от заполнения прогресса
  
'''нахлест заполнителя''' ''(cov)'' - Нахлест текстур заполнителя в пикселях
+
*'''указатель''' ''(resCurr)'' - Ресурс, который рисуется в текущей точке прогрессбара
  
'''скорость''' ''(vel)'' - Скорость анимации изменения прогреса в точках за секунду
+
*'''объект указатель''' ''(objCurr)'' - Объект, который рисуется в текущей точке прогрессбара
  
==Ресурсы==
+
'''Группа - анимационный'''
  
'''нач.граница''' ''(resBBord)'' - Ресурс, который рисуется в начальной точке прогрессбара
+
*'''res''' ''(res)'' в качестве графического ресурса используется анимация с нужным на количеством кадров. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования)
  
'''заполнитель''' ''(resTail)'' - Ресурс, который будет тайлиться в зависимости от заполнения прогресса
+
*'''количество''' ''(num)'' — количество прогресс баров
  
'''указатель''' ''(resCurr)'' - Ресурс, который рисуется в текущей точке прогрессбара
+
*'''dx''' ''(dx)'' — расстояние между прогресс барами по X, если их больше 1
  
==Анимационный==
+
*'''dy''' ''(dy)'' — расстояние между прогресс барами по Y, если их больше 1
  
'''res''' ''(res)'' — в качестве графического ресурса исп. анимация с нужным на количеством кадров
+
*'''вертикальный''' ''(ver)'' – если 1, то прогресс бар будет размножен вертикально, 0 - горизонтально
  
'''количество''' ''(num)'' — количество прогресс баров
+
'''Группа - дугообразный'''
  
'''dx''' ''(dx)'' — расстояние между прогресс барами по X, если их больше 1
+
*'''нач.угол''' ''(angBeg)'' - Угол, с которого рисуем дугу
  
'''dy''' ''(dy)'' — расстояние между прогресс барами по Y, если их больше 1
+
*'''угол дуги''' ''(angCurv)'' - Угол в котором дуга завершается
  
'''вертикальный''' ''(ver)'' – если 1, то прогресс бар будет размножен вертикально, 0 - горизонтально
+
*'''направление''' ''(angDir)'' - Направление угла дуги. 0-по часовой стрелке, 1-против часовой стрелки
  
==Дугообразный==
+
==Добавляемые параметры==
 +
Меню выбора ''Добавляемые параметры'' к объектам активируется по нажатию правой кнопки мыши.
 +
 
 +
[[Файл:+.png]] '''диапазон''' - Диапазон при котором меняется заполнитель.
 +
 
 +
*'''нач.зн''' - Начальное значение прогрессбара
  
'''нач.угол''' ''(angBeg)'' - Угол, с которого рисуем дугу
+
*'''кон.зн''' - Конечное значение прогрессбара
  
'''угол дуги''' ''(angCurv)'' - Угол в котором дуга завершается
+
*'''заполнитель''' - Ресурс, который будет тайлиться когда прогрессбар принимает значение из диапазона
  
'''направление''' ''(angDir)'' - Направление угла дуги. 0-по часовой стрелке, 1-против часовой стрелки
+
*'''нач объект''' - При входе в диапазон перевести объект в состояние из следующего поля
  
==Добавляемые параметры==
+
*'''нач состояние''' - Новое состояние для объекта из предыдущего поля
 +
 
 +
*'''нач объект''' - При выходе из диапазона перевести объект в состояние из следующего поля
 +
 
 +
*'''нач состояние''' - Новое состояние для объекта из предыдущего поля
  
'''Изменилось значение: изменить параметры объекта''' - после изменения значения прогресбара изменить параметр объекта.
+
[[Файл:+.png]] '''Изменилось значение: изменить параметры объекта''' - после изменения значения прогресбара изменить параметр объекта.
  
 
*'''объект''' - объект, состояние которого меняем  
 
*'''объект''' - объект, состояние которого меняем  
Строка 89: Строка 108:
 
*'''значение''' - новое значение параметра
 
*'''значение''' - новое значение параметра
  
'''Изменилось значение: изменить состояние объекта''' - после изменения значения прогресбара перевести объект в новое состояние.
+
[[Файл:+.png]] '''Изменилось значение: изменить состояние объекта''' - после изменения значения прогресбара перевести объект в новое состояние.
  
 
*'''объект''' - объект, состояние которого меняем
 
*'''объект''' - объект, состояние которого меняем
Строка 95: Строка 114:
 
*'''состояние''' - новое состояние для объекта из предыдущего поля
 
*'''состояние''' - новое состояние для объекта из предыдущего поля
  
'''Завершен прогрес: изменить параметры объекта''' - после завершения прогреса изменить параметр объекта.
+
[[Файл:+.png]] '''Завершен прогрес: изменить параметры объекта''' - после завершения прогреса изменить параметр объекта.
  
 
*'''объект''' - объект, состояние которого меняем
 
*'''объект''' - объект, состояние которого меняем
Строка 103: Строка 122:
 
*'''значение''' - новое значение параметра
 
*'''значение''' - новое значение параметра
  
'''Завершен прогрес: изменить состояние объекта''' - после завершения прогресса перевести объект в новое состояние.
+
[[Файл:+.png]] '''Завершен прогрес: изменить состояние объекта''' - после завершения прогресса перевести объект в новое состояние.
  
 
*'''объект''' - объект, состояние которого меняем
 
*'''объект''' - объект, состояние которого меняем
Строка 109: Строка 128:
 
*'''состояние''' - новое состояние для объекта из предыдущего поля
 
*'''состояние''' - новое состояние для объекта из предыдущего поля
  
= Как работает =
+
= Использование объекта =
  
 
Для отображения нужного кадра анимации прогресс бар вычитывает данные из [[Options]] в зависимости от значения 0,1,2.... показывает определенный  фрейм анимации<br>
 
Для отображения нужного кадра анимации прогресс бар вычитывает данные из [[Options]] в зависимости от значения 0,1,2.... показывает определенный  фрейм анимации<br>
Строка 123: Строка 142:
 
У нас есть два значения lv0="2" и lv1="1"
 
У нас есть два значения lv0="2" и lv1="1"
  
Напомню что у нас есть такое поле как '''количество''' и мы может одним progress`ом вычитать эти два значения и отобразить если поставим кол-во = 2.<br>
+
Напоминаем, что у нас есть такое поле как '''количество''' и мы может одним progress`ом вычитать эти два значения и отобразить если поставим кол-во = 2.<br>
 
Для этого в поле игра мы пишем "pk1.pz01", а в уровень пишем просто "lv". Запись в опциях lv0 и lv1 означает что это значения для прогресс бара с кол-ом  = 2 и в первую свою копию он считает значение lv0 во вторую lv1 и отобразит две к примеру звезды и каждую со своим фреймом.<br>
 
Для этого в поле игра мы пишем "pk1.pz01", а в уровень пишем просто "lv". Запись в опциях lv0 и lv1 означает что это значения для прогресс бара с кол-ом  = 2 и в первую свою копию он считает значение lv0 во вторую lv1 и отобразит две к примеру звезды и каждую со своим фреймом.<br>
 
pk01, pz01, lv0, lv1 и т.д. это просто ключи по которым прогресс вычитывает нужные значение, по-этому они могут быть произвольными.<br>
 
pk01, pz01, lv0, lv1 и т.д. это просто ключи по которым прогресс вычитывает нужные значение, по-этому они могут быть произвольными.<br>
  
 
'''Одно только правило:''' Если у нас указано кол-во. То в  опции параметр уровень мы должны записывать с числовой приставкой (например lv0,lv1,lv2) и т.д. Если у нас кол = 1, то прогресс будет вычитывать значение из lv0.
 
'''Одно только правило:''' Если у нас указано кол-во. То в  опции параметр уровень мы должны записывать с числовой приставкой (например lv0,lv1,lv2) и т.д. Если у нас кол = 1, то прогресс будет вычитывать значение из lv0.
 
  
 
При работе с '''дуговым''' прогрессом важно знать:
 
При работе с '''дуговым''' прогрессом важно знать:
  
 
  Радиус дуги = высота прогресса / 2 . Центр окружности в точке пересечений диагоналей объекта прогресс.
 
  Радиус дуги = высота прогресса / 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 звезды или бронзовую, серебряную, золотую.

Основные параметры

Progress properties.png
  • тип - тип прогрессбара: 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.... показывает определенный фрейм анимации
Чтение значений из опций осуществляется с помощью полей игра и уровень
Эти параметры можно менять с помощью машин, тогда прогресс будет вычитывать разные значения.

Ниже приведена запись из опций с которых прогресс вычитает значения:

  <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 в хидденах:

Progress1 1.jpg Progress2 1.jpg

В данном примере используется 2 объекта типа Progress, тип которых - линейный: 1 - combo_progress для отображения комбо прогресса в очковой системе хидденлиста,
2 - cnt_prgss для отображения количества найденных объектов.

Параметры объектов типа Progress следующие:

Progress3 1.jpg Progress4 1.jpg