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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
(Дугообразный)
(Основные параметры)
 
(не показано 28 промежуточных версий 6 участников)
Строка 1: Строка 1:
Объект Progress используют для отображения каких либо ачивментов, например когда игрок проходить уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую.
+
{{TOC right}}
== Общие параметры ==
+
== Общие сведения ==
Смотреть описание [[Object|Object]].
+
[[Object|объект]] '''Progress''' используют для отображения каких либо ачивментов, например когда игрок проходить уровень он может получить 1,2,3 звезды или бронзовую, серебряную, золотую.
  
 
== Основные параметры ==
 
== Основные параметры ==
 
[[Файл: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;
 
 
 
'''Группа - размер'''
 
 
 
*'''w''' - ширина объекта;
 
*'''h''' - высота объекта;
 
 
 
'''Группа - модификаторы'''
 
 
 
*'''alpha''' - прозрачность объекта;
 
*'''angle''' - угол на который повернут объект;
 
*'''scale x''' - масштабирование объекта по оси X;
 
*'''scale y''' - масштабирование объекта по оси Y;
 
*'''тайлинг''' - замощение текстуры;
 
 
 
*'''z''' - параметр порядка рисования объекта. Сначала рисуются объекты с большим z;
 
 
 
*'''память''' - память объекта. если 1, то в текущей игровой сессии объект не будет переиничиваться;
 
  
 
*'''сохранять в профиль''' ''(prof)'' - Если = 1, то значение будет сохранено в текущий профиль, если 0 - то глобально.
 
*'''сохранять в профиль''' ''(prof)'' - Если = 1, то значение будет сохранено в текущий профиль, если 0 - то глобально.
  
*'''игра''' ''(game)'' - Имя игры (раздела в опциях), который надо вычитать для получения начального значения прогресса (например, для отображения результатов).
+
*'''тип изменения''' ''(chType)'' - Тип изменения (увеличение (0), уменьшение (1)).Если параметр меняется то прогрессу нужно передать состояние ('''init''') !
 
 
*'''уровень''' ''(level)'' - Имя уровня (параметра в разделе игра - см.выше), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). Для каждого прогресса разделы равны: [game.]level0, [game.]level1,...
 
 
 
*'''тип изменения''' ''(chType)'' - Тип изменения (увеличение, уменьшение)
 
  
 
*'''изменение''' ''(chVal)'' - Изменение значения прогреса при вызове состояния next
 
*'''изменение''' ''(chVal)'' - Изменение значения прогреса при вызове состояния next
Строка 49: Строка 45:
 
*'''скорость''' ''(vel)'' - Скорость анимации изменения прогреса в точках за секунду
 
*'''скорость''' ''(vel)'' - Скорость анимации изменения прогреса в точках за секунду
  
==Ресурсы==
+
'''Группа - позиционирование'''
 +
 
 +
*'''горизонтальное'''  - 0 - нет выравнивания; 1 - прижать к левому краю; 2 - центр; 3 - к правому
 +
 
 +
*'''вертикальное'''  - 0 - нет выравнивания; 1 - прижать к верхнему краю; 2 - центр; 3 - к нижнему
 +
 
 +
'''Группа - ресурсы'''
 +
 
 +
*'''нач.граница''' ''(resBBord)'' - Ресурс, который рисуется в начальной точке прогрессбара
  
'''нач.граница''' ''(resBBord)'' - Ресурс, который рисуется в начальной точке прогрессбара
+
*'''заполнитель''' ''(resTail)'' - Ресурс, который будет тайлиться в зависимости от заполнения прогресса
  
'''заполнитель''' ''(resTail)'' - Ресурс, который будет тайлиться в зависимости от заполнения прогресса
+
*'''указатель''' ''(resCurr)'' - Ресурс, который рисуется в текущей точке прогрессбара
  
'''указатель''' ''(resCurr)'' - Ресурс, который рисуется в текущей точке прогрессбара
+
*'''объект указатель''' ''(objCurr)'' - Объект, который рисуется в текущей точке прогрессбара
  
==Анимационный==
+
'''Группа - анимационный'''
  
'''res''' ''(res)'' — в качестве графического ресурса исп. анимация с нужным на количеством кадров
+
*'''res''' ''(res)'' — в качестве графического ресурса используется анимация с нужным на количеством кадров. Перетаскивается мышкой из редактора ресурсов (поле должно находится в состоянии редактирования)
  
'''количество''' ''(num)'' — количество прогресс баров
+
*'''количество''' ''(num)'' — количество прогресс баров
  
'''dx''' ''(dx)'' — расстояние между прогресс барами по X, если их больше 1
+
*'''dx''' ''(dx)'' — расстояние между прогресс барами по X, если их больше 1
  
'''dy''' ''(dy)'' — расстояние между прогресс барами по Y, если их больше 1
+
*'''dy''' ''(dy)'' — расстояние между прогресс барами по Y, если их больше 1
  
'''вертикальный''' ''(ver)'' – если 1, то прогресс бар будет размножен вертикально, 0 - горизонтально
+
*'''вертикальный''' ''(ver)'' – если 1, то прогресс бар будет размножен вертикально, 0 - горизонтально
  
==Дугообразный==
+
'''Группа - дугообразный'''
  
 
*'''нач.угол''' ''(angBeg)'' - Угол, с которого рисуем дугу
 
*'''нач.угол''' ''(angBeg)'' - Угол, с которого рисуем дугу
Строка 78: Строка 82:
  
 
==Добавляемые параметры==
 
==Добавляемые параметры==
 +
Меню выбора ''Добавляемые параметры'' к объектам активируется по нажатию правой кнопки мыши.
 +
 +
[[Файл:+.png]] '''диапазон''' - Диапазон при котором меняется заполнитель.
 +
 +
*'''нач.зн''' - Начальное значение прогрессбара
 +
 +
*'''кон.зн''' - Конечное значение прогрессбара
 +
 +
*'''заполнитель''' - Ресурс, который будет тайлиться когда прогрессбар принимает значение из диапазона
 +
 +
*'''нач объект''' - При входе в диапазон перевести объект в состояние из следующего поля
 +
 +
*'''нач состояние''' - Новое состояние для объекта из предыдущего поля
 +
 +
*'''нач объект''' - При выходе из диапазона перевести объект в состояние из следующего поля
 +
 +
*'''нач состояние''' - Новое состояние для объекта из предыдущего поля
  
'''Изменилось значение: изменить параметры объекта''' - после изменения значения прогресбара изменить параметр объекта.
+
[[Файл:+.png]] '''Изменилось значение: изменить параметры объекта''' - после изменения значения прогресбара изменить параметр объекта.
  
 
*'''объект''' - объект, состояние которого меняем  
 
*'''объект''' - объект, состояние которого меняем  
Строка 87: Строка 108:
 
*'''значение''' - новое значение параметра
 
*'''значение''' - новое значение параметра
  
'''Изменилось значение: изменить состояние объекта''' - после изменения значения прогресбара перевести объект в новое состояние.
+
[[Файл:+.png]] '''Изменилось значение: изменить состояние объекта''' - после изменения значения прогресбара перевести объект в новое состояние.
  
 
*'''объект''' - объект, состояние которого меняем
 
*'''объект''' - объект, состояние которого меняем
Строка 93: Строка 114:
 
*'''состояние''' - новое состояние для объекта из предыдущего поля
 
*'''состояние''' - новое состояние для объекта из предыдущего поля
  
'''Завершен прогрес: изменить параметры объекта''' - после завершения прогреса изменить параметр объекта.
+
[[Файл:+.png]] '''Завершен прогрес: изменить параметры объекта''' - после завершения прогреса изменить параметр объекта.
  
 
*'''объект''' - объект, состояние которого меняем
 
*'''объект''' - объект, состояние которого меняем
Строка 101: Строка 122:
 
*'''значение''' - новое значение параметра
 
*'''значение''' - новое значение параметра
  
'''Завершен прогрес: изменить состояние объекта''' - после завершения прогресса перевести объект в новое состояние.
+
[[Файл:+.png]] '''Завершен прогрес: изменить состояние объекта''' - после завершения прогресса перевести объект в новое состояние.
  
 
*'''объект''' - объект, состояние которого меняем
 
*'''объект''' - объект, состояние которого меняем
Строка 107: Строка 128:
 
*'''состояние''' - новое состояние для объекта из предыдущего поля
 
*'''состояние''' - новое состояние для объекта из предыдущего поля
  
= Как работает =
+
= Использование объекта =
  
 
Для отображения нужного кадра анимации прогресс бар вычитывает данные из [[Options]] в зависимости от значения 0,1,2.... показывает определенный  фрейм анимации<br>
 
Для отображения нужного кадра анимации прогресс бар вычитывает данные из [[Options]] в зависимости от значения 0,1,2.... показывает определенный  фрейм анимации<br>
Строка 121: Строка 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