Slider — различия между версиями
Sadovoy (обсуждение | вклад) м (→Основные параметры) |
Apolozova (обсуждение | вклад) м (→1. Слайдер как ползунок для регулировки громкости) |
||
(не показано 16 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
− | '''Slider''' — встроенный объект редактора, реализующий прокручивание списков, а так же даёт возможность создание различных ползунков для регулирования параметров ( к примеру регулятор громкости, музыки, яркости и т.д. ) | + | {{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 (не прозрачен). | *'''alpha''' ( ''al'' ) - Прозрачность: от 0 (прозрачен) до 1 (не прозрачен). | ||
*'''blending''' ( ''bl'' ) - Alpha смешивание (parent - наследует alpha от родителя, blend - смешивание, add - добавление, sub - вычитание, none - ничего не происходит. (Подробнее о Alpha смешивании - здесь)). | *'''blending''' ( ''bl'' ) - Alpha смешивание (parent - наследует alpha от родителя, blend - смешивание, add - добавление, sub - вычитание, none - ничего не происходит. (Подробнее о Alpha смешивании - здесь)). | ||
Строка 21: | Строка 27: | ||
*'''scale y''' ( ''sy'' )- Масштаб по оси '''y''' (1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.). | *'''scale y''' ( ''sy'' )- Масштаб по оси '''y''' (1 - не изменен, 1.5 - увеличен в полтора раза, и т.д.). | ||
− | |||
− | |||
− | |||
+ | ''' Группа - размер ползунка ''': | ||
+ | *'''W''' ( ''handle_width'' ) - Ширина ползунка в пикселях. | ||
+ | *'''H''' ( ''handle_height'' )- Высота ползунка в пикселях. | ||
+ | |||
+ | |||
+ | '''Группа - дополнительные''' | ||
*'''значение''' ( ''value'' ) - Текущее значение ползунка слайдера. | *'''значение''' ( ''value'' ) - Текущее значение ползунка слайдера. | ||
*'''шаг смещения''' ( ''shift_value'' ) - Смещение ползунка слайдера при установке состояния increase или decrease. | *'''шаг смещения''' ( ''shift_value'' ) - Смещение ползунка слайдера при установке состояния increase или decrease. | ||
Строка 34: | Строка 43: | ||
::'''1''' - значение увеличивается влево или вверх. | ::'''1''' - значение увеличивается влево или вверх. | ||
*'''ползунок''' ( ''handle_res'' ) - Ресурс, за который пользователь будет тянуть. | *'''ползунок''' ( ''handle_res'' ) - Ресурс, за который пользователь будет тянуть. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
*'''полоса''' ( ''groove_res'' ) - Ресурс, который будет тайлиться для заполнения полосы прокрутки. | *'''полоса''' ( ''groove_res'' ) - Ресурс, который будет тайлиться для заполнения полосы прокрутки. | ||
*'''начальная грань''' ( ''groove_begin_res'' ) - Ресурс, картинка левой или верхней грани полосы прокрутки. | *'''начальная грань''' ( ''groove_begin_res'' ) - Ресурс, картинка левой или верхней грани полосы прокрутки. | ||
Строка 47: | Строка 51: | ||
== Добавляемые параметры == | == Добавляемые параметры == | ||
− | [[Файл:+.png]]'''изменилось значение: изменить параметры объекта''' ( ''value_changed_param'' ) - После изменения значения слайдера изменить параметр объекта: | + | [[Файл:+.png]] '''изменилось значение: изменить параметры объекта''' ( ''value_changed_param'' ) - После изменения значения слайдера изменить параметр объекта: |
− | :'''объект''' ('' obj '') - этот объект меняет свой параметр; | + | ::'''объект''' ('' obj '') - этот объект меняет свой параметр; |
− | :'''свойство''' ('' par '') - Параметр, который мы изменяем; | + | ::'''свойство''' ('' par '') - Параметр, который мы изменяем; |
− | :'''значение''' ('' val '') - Новое значение параметра. | + | ::'''значение''' ('' val '') - Новое значение параметра. |
+ | |||
+ | [[Файл:+.png]] '''изменилось значение: изменить состояние объекта''' ( ''value_changed_state'' ) - После изменения значения слайдера перевести объект в новое состояние: | ||
+ | ::'''объект''' ('' obj '') - этот объект меняет свой параметр; | ||
+ | ::'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля. | ||
− | [[Файл:+.png]]''' | + | [[Файл:+.png]] '''достигнут минимум: изменить состояние объекта''' ( ''min_reached_state'' ): |
− | :'''объект''' ('' obj '') - этот объект меняет свой параметр; | + | ::'''объект''' ('' obj '') - этот объект меняет свой параметр; |
− | :'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля. | + | ::'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля. |
− | [[Файл:+.png]]'''достигнут | + | [[Файл:+.png]] '''достигнут максимум: изменить состояние объекта''' ( ''max_reached_state'' ): |
− | :'''объект''' ('' obj '') - этот объект меняет свой параметр; | + | ::'''объект''' ('' obj '') - этот объект меняет свой параметр; |
− | :'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля. | + | ::'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля. |
− | [[Файл:+.png]]''' | + | [[Файл:+.png]] '''покинут минимум: изменить состояние объекта''' ( ''min_left_state'' ): |
− | :'''объект''' ('' obj '') - этот объект меняет свой параметр; | + | ::'''объект''' ('' obj '') - этот объект меняет свой параметр; |
− | :'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля. | + | ::'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля. |
− | [[Файл:+.png]]'''покинут | + | [[Файл:+.png]] '''покинут максимум: изменить состояние объекта''' ( ''max_left_state'' ): |
− | :'''объект''' ('' obj '') - этот объект меняет свой параметр; | + | ::'''объект''' ('' obj '') - этот объект меняет свой параметр; |
− | :'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля. | + | ::'''состояние''' ('' st '') - Новое состояние для объекта из предыдущего поля. |
− | + | == Состояния == | |
− | |||
− | |||
+ | *'''increase''' - увеличить текущее значение слайдера на значение указанное в поле '''шаг смещения'''. | ||
+ | *'''decrease''' - уменьшить текущее значение слайдера на значение указанное в поле '''шаг смещения'''. | ||
+ | |||
+ | == Примечания == | ||
+ | |||
+ | 1) Если слайдеру следующие поля не задать, то приложение зависнет: | ||
+ | ::*'''ползунок'''; | ||
+ | ::*'''полоса'''; | ||
+ | ::*'''начальная грань'''; | ||
+ | ::*'''конечная грань'''.<br> | ||
+ | 2) Если объекту слайдер не задавать объект слежения ( целевой объект ), то в поле значение ( ''value'' ) будет находиться число от 0.00 до 1.00 в зависимости от положения ползунка. Это значение считываем как строку, иначе получим или 0 или 1.<br> | ||
== Примеры реализации == | == Примеры реализации == | ||
− | |||
+ | ==='''1. Слайдер как ползунок для регулировки громкости'''=== | ||
+ | :В проекте имеем два объекта sounds ( ''slider'' ) и save_sounds ( ''mashine'' ). | ||
+ | [[Файл:Slider Tree.png|centre]] | ||
+ | :Слайдер реализует прокрутку, а машина при изменении значения слайдера переводит машину в состояние save ( записываем значение слайдера в опции ). | ||
− | == | + | :Настройки объекта slider:<br> |
+ | [[Файл:Slider in option.png|centre]] | ||
+ | |||
+ | |||
+ | :Машина ''save_sounds'':<br> | ||
+ | [[Файл:Mashine for slider in option.png|centre]] | ||
+ | |||
+ | Состояния:<br> | ||
+ | ::'''init''': выставляем текущее значение громкости звука объекту slider. (Почему в ините? Так как данная машина ребёнок слайдера, то проинитится машинка сразу после слайдера). | ||
+ | ::'''save''': считываем значение slider и записываем в опции. | ||
+ | |||
+ | ==='''2. Слайдер как скролл для прокрутки таблицы'''=== | ||
+ | |||
+ | :Чтобы нашим слайдером прокручивать таблицу, мы должны указать в поле '''Целевой объект''' нужную таблицу. Выбор плоскости для прокручивания ( вертикально или горизонтально), выбирается исходя из ориентации слайдера (параметр '''вертикальный'''): | ||
+ | |||
+ | [[Файл:Slider table.png|centre]] | ||
− | + | [[Category:Main objects]] | |
− |
Текущая версия на 14:00, 19 августа 2019
Slider — встроенный объект редактора, реализующий прокручивание списков, а так же даёт возможность создание различных ползунков для регулирования параметров ( к примеру регулятор громкости, музыки, яркости и т.д. )
Общие параметры
- id-объекта( id ) - уникальный номер объекта
- тип ( type ) - Выбранный тип объекта определяет его функциональное назначение и его свойства
- имя( name ) - Имя графического объекта в дереве проекта. Может быть произвольным. По умолчанию соответствует имени файла из базы ресурсов.
- синхронизация ( sync )- Применяется для синхронизации между лейаутами, если указан параметр нет то объект будет активен только на текущем лейауте
- z - Параметр порядка рисования объекта. Сначала рисуются объекты с большим z, затем, поверх них - с меньшим.
- память ( memo ) - Если 1, то при повторном открытии экрана объект не обновляет свои параметры (помнит текущие параметры, оставшиеся от предыдущего посещения экрана).
- прокликиваемая ( passClk ) - Если 1, то картинка прозрачна для клика мышкой (пропускает объектам под ней). Если 2, то картинка сама обрабатывает клик, но и пропускает его дальше"
Основные параметры
Группа - размер
- 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.
Добавляемые параметры
изменилось значение: изменить параметры объекта ( value_changed_param ) - После изменения значения слайдера изменить параметр объекта:
- объект ( obj ) - этот объект меняет свой параметр;
- свойство ( par ) - Параметр, который мы изменяем;
- значение ( val ) - Новое значение параметра.
изменилось значение: изменить состояние объекта ( value_changed_state ) - После изменения значения слайдера перевести объект в новое состояние:
- объект ( obj ) - этот объект меняет свой параметр;
- состояние ( st ) - Новое состояние для объекта из предыдущего поля.
достигнут минимум: изменить состояние объекта ( min_reached_state ):
- объект ( obj ) - этот объект меняет свой параметр;
- состояние ( st ) - Новое состояние для объекта из предыдущего поля.
достигнут максимум: изменить состояние объекта ( max_reached_state ):
- объект ( obj ) - этот объект меняет свой параметр;
- состояние ( st ) - Новое состояние для объекта из предыдущего поля.
покинут минимум: изменить состояние объекта ( min_left_state ):
- объект ( obj ) - этот объект меняет свой параметр;
- состояние ( st ) - Новое состояние для объекта из предыдущего поля.
покинут максимум: изменить состояние объекта ( max_left_state ):
- объект ( obj ) - этот объект меняет свой параметр;
- состояние ( st ) - Новое состояние для объекта из предыдущего поля.
Состояния
- increase - увеличить текущее значение слайдера на значение указанное в поле шаг смещения.
- decrease - уменьшить текущее значение слайдера на значение указанное в поле шаг смещения.
Примечания
1) Если слайдеру следующие поля не задать, то приложение зависнет:
- ползунок;
- полоса;
- начальная грань;
- конечная грань.
2) Если объекту слайдер не задавать объект слежения ( целевой объект ), то в поле значение ( value ) будет находиться число от 0.00 до 1.00 в зависимости от положения ползунка. Это значение считываем как строку, иначе получим или 0 или 1.
Примеры реализации
1. Слайдер как ползунок для регулировки громкости
- В проекте имеем два объекта sounds ( slider ) и save_sounds ( mashine ).
- Слайдер реализует прокрутку, а машина при изменении значения слайдера переводит машину в состояние save ( записываем значение слайдера в опции ).
- Настройки объекта slider:
- Машина save_sounds:
Состояния:
- init: выставляем текущее значение громкости звука объекту slider. (Почему в ините? Так как данная машина ребёнок слайдера, то проинитится машинка сразу после слайдера).
- save: считываем значение slider и записываем в опции.
2. Слайдер как скролл для прокрутки таблицы
- Чтобы нашим слайдером прокручивать таблицу, мы должны указать в поле Целевой объект нужную таблицу. Выбор плоскости для прокручивания ( вертикально или горизонтально), выбирается исходя из ориентации слайдера (параметр вертикальный):