Progress
Общие сведения
Объект Progress используют для отображения каких либо ачивментов, например когда игрок проходить уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую.
Содержание
Основные параметры
тип - тип прогрессбара: 0 - анимационный, 1 - линейный, 2 - дугообразный;
Группа - положение
- x - координата объекта по оси X;
- y - координата объекта по оси Y;
Группа - размер
- w - ширина объекта;
- h - высота объекта;
Группа - модификаторы
- alpha - прозрачность объекта;
- angle - угол на который повернут объект;
- scale x - масштабирование объекта по оси X;
- scale y - масштабирование объекта по оси Y;
- тайлинг - замощение текстуры;
z - параметр порядка рисования объекта. Сначала рисуются объекты с большим z;
память - память объекта. если 1, то в текущей игровой сессии объект не будет переиничиваться;
сохранять в профиль (prof) - Если = 1, то значение будет сохранено в текущий профиль, если 0 - то глобально.
игра (game) - Имя игры (раздела в опциях), который надо вычитать для получения начального значения прогресса (например, для отображения результатов).
уровень (level) - Имя уровня (параметра в разделе игра - см.выше), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). Для каждого прогресса разделы равны: [game.]level0, [game.]level1,...
тип изменения (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-против часовой стрелки
Добавляемые параметры
Изменилось значение: изменить параметры объекта - после изменения значения прогресбара изменить параметр объекта.
- объект - объект, состояние которого меняем
- свойство - параметр, который мы изменяем
- значение - новое значение параметра
Изменилось значение: изменить состояние объекта - после изменения значения прогресбара перевести объект в новое состояние.
- объект - объект, состояние которого меняем
- состояние - новое состояние для объекта из предыдущего поля
Завершен прогрес: изменить параметры объекта - после завершения прогреса изменить параметр объекта.
- объект - объект, состояние которого меняем
- свойство - параметр, который мы изменяем
- значение - новое значение параметра
Завершен прогрес: изменить состояние объекта - после завершения прогресса перевести объект в новое состояние.
- объект - объект, состояние которого меняем
- состояние - новое состояние для объекта из предыдущего поля
Как работает
Для отображения нужного кадра анимации прогресс бар вычитывает данные из 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 . Центр окружности в точке пересечений диагоналей объекта прогресс.