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

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
м (Слайдер как ползунок для регулировки громкости)
м (1. Слайдер как ползунок для регулировки громкости)
 
(не показано 9 промежуточных версий 4 участников)
Строка 1: Строка 1:
'''Slider''' — встроенный объект редактора, реализующий прокручивание списков, а так же даёт возможность создание различных ползунков для регулирования параметров ( к примеру регулятор громкости, музыки, яркости и т.д. ) <br>
+
{{TOC right}}
 +
'''Slider''' — встроенный [[Object|объект]] редактора, реализующий прокручивание списков, а так же даёт возможность создание различных ползунков для регулирования параметров ( к примеру регулятор громкости, музыки, яркости и т.д. )  
  
== Основные параметры ==
+
== Общие параметры ==
 
[[Файл:Slider.png|right]]
 
[[Файл:Slider.png|right]]
  
Строка 8: Строка 9:
 
*'''имя'''( ''name'' )  - Имя графического объекта в дереве проекта. Может быть произвольным. По умолчанию соответствует имени файла из базы ресурсов.
 
*'''имя'''( ''name'' )  - Имя графического объекта в дереве проекта. Может быть произвольным. По умолчанию соответствует имени файла из базы ресурсов.
 
*'''синхронизация''' ( ''sync'' )- Применяется для синхронизации между лейаутами, если указан параметр  ''нет'' то объект будет активен только на текущем лейауте
 
*'''синхронизация''' ( ''sync'' )- Применяется для синхронизации между лейаутами, если указан параметр  ''нет'' то объект будет активен только на текущем лейауте
 +
*'''z''' - Параметр порядка рисования объекта. Сначала рисуются объекты с большим z, затем, поверх них - с меньшим.
 +
*'''память''' ( ''memo'' )  - Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана).
 +
*'''[[прокликиваемая]]''' ( ''passClk'' ) - Если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то картинка сама обрабатывает клик, но и пропускает его дальше"
 +
== Основные параметры ==
  
*'''Группа - размер'''
+
'''Группа - размер'''
 
[[Файл:object1.png|400px|right]]  
 
[[Файл:object1.png|400px|right]]  
::'''W''' ( ''w'' ) - Ширина графического объекта в пикселях
+
*'''W''' ( ''w'' ) - Ширина графического объекта в пикселях
::'''H''' ( ''h'')- Высота графического объекта в пикселях
+
*'''H''' ( ''h'' )- Высота графического объекта в пикселях
 +
 
 +
 
 +
'''Группа - модификаторы'''
 +
*'''alpha''' ( ''al'' ) - Прозрачность: от 0 (прозрачен) до 1 (не прозрачен).
 +
*'''blending''' ( ''bl'' ) - Alpha смешивание (parent - наследует alpha от родителя, blend - смешивание, add - добавление, sub - вычитание, none - ничего не происходит. (Подробнее о Alpha смешивании - здесь)).
 +
*'''angle''' ( ''ang'' ) - Угол поворота в градусах (0 - не повёрнут). Отсчитывается от оси x вниз. Вверх - идут отрицательные углы.
 +
*'''scale x''' ( ''sx'' ) - Масштаб по оси '''x''' (1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.).
 +
*'''scale y''' ( ''sy'' )- Масштаб по оси '''y''' (1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.).
  
  
*'''Группа - модификаторы'''
+
''' Группа - размер ползунка ''':
::'''alpha''' ( ''al'' ) - Прозрачность: от 0 (прозрачен) до 1 (не прозрачен).
+
*'''W''' ( ''handle_width'' ) - Ширина ползунка в пикселях.
::'''blending''' ( ''bl'' ) - Alpha смешивание (parent - наследует alpha от родителя, blend - смешивание, add - добавление, sub - вычитание, none - ничего не происходит. (Подробнее о Alpha смешивании - здесь)).
+
*'''H''' ( ''handle_height'' )- Высота ползунка в пикселях.
::'''angle''' ( ''ang'' ) - Угол поворота в градусах (0 - не повёрнут). Отсчитывается от оси x вниз. Вверх - идут отрицательные углы.
 
::'''scale x''' ( ''sx'' ) - Масштаб по оси '''x''' (1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.).
 
::'''scale y''' ( ''sy'' )- Масштаб по оси '''y''' (1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.).
 
  
*'''z''' - Параметр порядка рисования объекта. Сначала рисуются объекты с большим z, затем, поверх них - с меньшим.
 
*'''память''' ( ''memo'' )  - Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана).
 
*'''[[прокликиваемая]]''' ( ''passClk'' ) - Если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то картинка сама обрабатывает клик, но и пропускает его дальше"
 
  
 +
'''Группа - дополнительные'''
 
*'''значение''' ( ''value'' )  - Текущее значение ползунка слайдера.
 
*'''значение''' ( ''value'' )  - Текущее значение ползунка слайдера.
 
*'''шаг смещения''' ( ''shift_value'' )  - Смещение ползунка слайдера при установке состояния increase или decrease.
 
*'''шаг смещения''' ( ''shift_value'' )  - Смещение ползунка слайдера при установке состояния increase или decrease.
Строка 35: Строка 43:
 
::'''1''' - значение увеличивается влево или вверх.
 
::'''1''' - значение увеличивается влево или вверх.
 
*'''ползунок''' ( ''handle_res'' )  - Ресурс, за который пользователь будет тянуть.
 
*'''ползунок''' ( ''handle_res'' )  - Ресурс, за который пользователь будет тянуть.
 
 
*''' Группа - размер ползунка ''':
 
::'''W''' ( ''handle_width'' ) - Ширина ползунка в пикселях.
 
::'''H''' ( ''handle_height'')- Высота ползунка в пикселях.
 
 
 
 
*'''полоса''' ( ''groove_res'' )  - Ресурс, который будет тайлиться для заполнения полосы прокрутки.
 
*'''полоса''' ( ''groove_res'' )  - Ресурс, который будет тайлиться для заполнения полосы прокрутки.
 
*'''начальная грань''' ( ''groove_begin_res'' ) - Ресурс, картинка левой или верхней грани полосы прокрутки.
 
*'''начальная грань''' ( ''groove_begin_res'' ) - Ресурс, картинка левой или верхней грани полосы прокрутки.
Строка 74: Строка 75:
 
::'''объект''' ('' obj '') - этот объект меняет свой параметр;
 
::'''объект''' ('' obj '') - этот объект меняет свой параметр;
 
::'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля.
 
::'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля.
 +
 +
== Состояния ==
 +
 +
*'''increase''' - увеличить текущее значение слайдера на значение указанное в поле  '''шаг смещения'''.
 +
*'''decrease''' - уменьшить текущее значение слайдера на значение указанное в поле  '''шаг смещения'''.
 +
 +
== Примечания ==
 +
 +
1) Если слайдеру следующие поля не задать, то приложение зависнет:
 +
::*'''ползунок''';
 +
::*'''полоса''';
 +
::*'''начальная грань''';
 +
::*'''конечная грань'''.<br>
 +
2) Если объекту слайдер не задавать объект слежения ( целевой объект ), то в поле значение ( ''value'' ) будет находиться число от 0.00 до 1.00 в зависимости от положения ползунка. Это значение считываем как строку, иначе получим или 0 или 1.<br>
  
 
== Примеры реализации ==
 
== Примеры реализации ==
=== Слайдер как ползунок для регулировки громкости ===
 
  
В проекте имеем два объекта sounds ( ''slider'' ) и save_sounds ( ''mashine'' ). Слайдер реализует прокрутку, а машина при изменении значения слайдера переводит машину в состояние save ( записываем значение слайдера в опции ).
+
==='''1. Слайдер как ползунок для регулировки громкости'''===
 +
 
 +
:В проекте имеем два объекта sounds ( ''slider'' ) и save_sounds ( ''mashine'' ).  
 +
 
 +
[[Файл:Slider Tree.png|centre]]
 +
 
 +
:Слайдер реализует прокрутку, а машина при изменении значения слайдера переводит машину в состояние save ( записываем значение слайдера в опции ).
 +
 
 +
:Настройки объекта slider:<br>
 +
[[Файл:Slider in option.png|centre]]
  
Важно !!!
 
*1) Если слайдеру следующие поля не задать, то приложение зависнет:
 
::'''ползунок''';
 
::'''полоса''';
 
::'''начальная грань''';
 
::'''конечная грань'''.
 
  
*2) Если объекту слайдер, не задавать объект слежения ( целевой объект ), то в поле значение ( ''value'' ), будет находиться число от 0,00 до 1,00, в зависимости от положения ползунка. Это значение считываем как строку, иначе получим или 0, или 1.
+
:Машина ''save_sounds'':<br>
+
[[Файл:Mashine for slider in option.png|centre]]
  
[[Файл:Slider in option.png]]
+
Состояния:<br>
 +
::'''init''': выставляем текущее значение громкости звука объекту slider. (Почему в ините? Так как данная машина ребёнок слайдера, то проинитится машинка сразу после слайдера).
 +
::'''save''': считываем значение slider и записываем в опции.
  
[[Файл:Mashine for slider in option.png]]
+
==='''2. Слайдер как скролл для прокрутки таблицы'''===
Состояния:
 
::'''init''': выставляем текущее значение громкости звука объекту slider.
 
::'''save''': мы считываем значение slider и записываем в опции.
 
  
== Состояния ==
+
:Чтобы нашим слайдером прокручивать таблицу, мы должны указать в поле '''Целевой объект''' нужную таблицу. Выбор плоскости для прокручивания ( вертикально или горизонтально), выбирается исходя из ориентации слайдера (параметр '''вертикальный'''):
 +
 
 +
[[Файл:Slider table.png|centre]]
  
*'''increase''' - увеличить текущее значение слайдера на значение указанное в поле  '''шаг смещения'''.
+
[[Category:Main objects]]
*'''decrease''' - уменьшить текущее значение слайдера на значение указанное в поле  '''шаг смещения'''.
 

Текущая версия на 14:00, 19 августа 2019

Slider — встроенный объект редактора, реализующий прокручивание списков, а так же даёт возможность создание различных ползунков для регулирования параметров ( к примеру регулятор громкости, музыки, яркости и т.д. )

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

Slider.png
  • id-объекта( id ) - уникальный номер объекта
  • тип ( type ) - Выбранный тип объекта определяет его функциональное назначение и его свойства
  • имя( name ) - Имя графического объекта в дереве проекта. Может быть произвольным. По умолчанию соответствует имени файла из базы ресурсов.
  • синхронизация ( sync )- Применяется для синхронизации между лейаутами, если указан параметр нет то объект будет активен только на текущем лейауте
  • z - Параметр порядка рисования объекта. Сначала рисуются объекты с большим z, затем, поверх них - с меньшим.
  • память ( memo ) - Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана).
  • прокликиваемая ( passClk ) - Если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то картинка сама обрабатывает клик, но и пропускает его дальше"

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

Группа - размер

Object1.png
  • W ( w ) - Ширина графического объекта в пикселях
  • H ( h )- Высота графического объекта в пикселях


Группа - модификаторы

  • alpha ( al ) - Прозрачность: от 0 (прозрачен) до 1 (не прозрачен).
  • blending ( bl ) - Alpha смешивание (parent - наследует alpha от родителя, blend - смешивание, add - добавление, sub - вычитание, none - ничего не происходит. (Подробнее о Alpha смешивании - здесь)).
  • angle ( ang ) - Угол поворота в градусах (0 - не повёрнут). Отсчитывается от оси x вниз. Вверх - идут отрицательные углы.
  • scale x ( sx ) - Масштаб по оси x (1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.).
  • scale y ( sy )- Масштаб по оси y (1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.).


Группа - размер ползунка :

  • W ( handle_width ) - Ширина ползунка в пикселях.
  • H ( handle_height )- Высота ползунка в пикселях.


Группа - дополнительные

  • значение ( value ) - Текущее значение ползунка слайдера.
  • шаг смещения ( shift_value ) - Смещение ползунка слайдера при установке состояния increase или decrease.
  • вертикальный ( vertical ):
0 - горизонтальное размещение;
1 - вертикальное размещение слайдера.
  • обратный ( reversed ):
0 - значение увеличивается вниз или вверх;
1 - значение увеличивается влево или вверх.
  • ползунок ( handle_res ) - Ресурс, за который пользователь будет тянуть.
  • полоса ( groove_res ) - Ресурс, который будет тайлиться для заполнения полосы прокрутки.
  • начальная грань ( groove_begin_res ) - Ресурс, картинка левой или верхней грани полосы прокрутки.
  • конечная грань ( groove_end_res ) - Ресурс, картинка правой или нижней грани полосы прокрутки.
  • отступ ( groove_margin ) - Отступ от сторон полосы, в который ползунок упрётся центром, при достижении максимального значения.
  • целевой объект ( target_object ) - Объект, который будет слушать изменения значения слайдера. Объект должен содержать реакцию на SAY_SCROLL.

Добавляемые параметры

+.png изменилось значение: изменить параметры объекта ( value_changed_param ) - После изменения значения слайдера изменить параметр объекта:

объект ( obj ) - этот объект меняет свой параметр;
свойство ( par ) - Параметр, который мы изменяем;
значение ( val ) - Новое значение параметра.

+.png изменилось значение: изменить состояние объекта ( value_changed_state ) - После изменения значения слайдера перевести объект в новое состояние:

объект ( obj ) - этот объект меняет свой параметр;
состояние ( st ) - Новое состояние для объекта из предыдущего поля.

+.png достигнут минимум: изменить состояние объекта ( min_reached_state ):

объект ( obj ) - этот объект меняет свой параметр;
состояние ( st ) - Новое состояние для объекта из предыдущего поля.

+.png достигнут максимум: изменить состояние объекта ( max_reached_state ):

объект ( obj ) - этот объект меняет свой параметр;
состояние ( st ) - Новое состояние для объекта из предыдущего поля.

+.png покинут минимум: изменить состояние объекта ( min_left_state ):

объект ( obj ) - этот объект меняет свой параметр;
состояние ( st ) - Новое состояние для объекта из предыдущего поля.

+.png покинут максимум: изменить состояние объекта ( max_left_state ):

объект ( obj ) - этот объект меняет свой параметр;
состояние ( st ) - Новое состояние для объекта из предыдущего поля.

Состояния

  • increase - увеличить текущее значение слайдера на значение указанное в поле шаг смещения.
  • decrease - уменьшить текущее значение слайдера на значение указанное в поле шаг смещения.

Примечания

1) Если слайдеру следующие поля не задать, то приложение зависнет:

  • ползунок;
  • полоса;
  • начальная грань;
  • конечная грань.

2) Если объекту слайдер не задавать объект слежения ( целевой объект ), то в поле значение ( value ) будет находиться число от 0.00 до 1.00 в зависимости от положения ползунка. Это значение считываем как строку, иначе получим или 0 или 1.

Примеры реализации

1. Слайдер как ползунок для регулировки громкости

В проекте имеем два объекта sounds ( slider ) и save_sounds ( mashine ).
Slider Tree.png
Слайдер реализует прокрутку, а машина при изменении значения слайдера переводит машину в состояние save ( записываем значение слайдера в опции ).
Настройки объекта slider:
Slider in option.png


Машина save_sounds:
Mashine for slider in option.png

Состояния:

init: выставляем текущее значение громкости звука объекту slider. (Почему в ините? Так как данная машина ребёнок слайдера, то проинитится машинка сразу после слайдера).
save: считываем значение slider и записываем в опции.

2. Слайдер как скролл для прокрутки таблицы

Чтобы нашим слайдером прокручивать таблицу, мы должны указать в поле Целевой объект нужную таблицу. Выбор плоскости для прокручивания ( вертикально или горизонтально), выбирается исходя из ориентации слайдера (параметр вертикальный):
Slider table.png