Progress

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск

Объект Progress используют для отображения каких либо ачивментов, например когда игрок проходить уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую.

Общие параметры

Смотреть описание Object.

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

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) - Тип изменения (увеличение, уменьшение)
  • изменение (chVal) - Изменение значения прогреса при вызове состояния next
  • значение (val) - Текущее значение прогрессбара
  • мин.зн (minVal) - Минимальное значение прогрессбара
  • макс.зн (maxVal) - Максимальное значение прогрессбара
  • нахлест заполнителя (cov) - Нахлест текстур заполнителя в пикселях
  • скорость (vel) - Скорость анимации изменения прогреса в точках за секунду

Группа - ресурсы

  • нач.граница (resBBord) - Ресурс, который рисуется в начальной точке прогрессбара
  • заполнитель (resTail) - Ресурс, который будет тайлиться в зависимости от заполнения прогресса
  • указатель (resCurr) - Ресурс, который рисуется в текущей точке прогрессбара

Группа - анимационный

  • 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 . Центр окружности в точке пересечений диагоналей объекта прогресс.