Документація Steamworks
Активатори
Активатори — це потужний інструмент для контролю того, як, коли й настільки часто джерело введення реагує на користувача.

Приклад: повторення команди «Вниз» під час утримання


Чи доводилося вам грати в рольову гру, основним елементом якої є меню? Доводилося дратуватися через те, що для прогортання сотень рядків для кожного пункту доводилося натискати кнопку «Вниз»?

Активатори дозволяють визначити простий макрос типу «якщо я натисну ВНИЗ на 1 секунду, то слід повторювати ВНИЗ кожні 0,1 секунди до відпускання». Вуаля! Тепер можна прокрутити список простим затисканням кнопки, хоча розробники не впроваджували таку функцію!

І ось ми в меню налаштування гіпотетичної рольової гри, хрестовина вже налаштована правильно, але ми хочемо додати активатор для прийняття сигналу від кнопки «Вниз»:

activator_ddown.png

Після вибору цього ми бачимо меню, де обираємо «Показати активатори».

show_activators.png

Далі ми переходимо до меню активаторів, де є безліч налаштувань на вибір:

activator_menu.png

Спершу виберемо вид активації «Довге натискання». Це та механіка, яка викликає особливу поведінку.

activator_long_press.png

Стандартно для дії активатора вибрано початкове значення (хрестовина вниз), що нас влаштовує. Ми також лишаємо стандартне значення «Час довгого натискання»: 0,15 с.

Однак «Утримання для повтору (Турбо)» встановимо як «Увімк.»:

activator_turbo.png

«Частоту повтору» лишаємо зі стандартним значенням: 0,9 с. Тепер, коли хрестовину натиснути вниз і втримувати понад 0,15 с, кожні 0,9 с це натискання генеруватиме додаткову подію «Хрестовина вниз», доки кнопку не відпустити. Часові значення, звісно, можна налаштувати під себе.

Якщо необхідно додати кілька різних активаторів, то це можна зробити, обравши «Додати активатор». Видалити активатор можна, якщо обрати «Немає — вилучити активатор» як тип активатора. Обмеження на кількість доданих активаторів немає, але якщо їх буде більше ніж п’ять, то вони не помістяться на екрані.

Налаштування активатора


Перерахуємо налаштування, що доступні в системі активаторів. Ці налаштування завжди доступні, незалежно від типу активатора:

НазваЗначенняОпис
Тип активаціїЗвичайне натискання, подвійне натискання, довге натискання, початок натискання, кінець натискання, акордне натискання, немає — вилучити активаторАктиватор визначає спосіб, яким введення відповідає на ваші дії. Це звичайне натискання, довге натискання чи подвійне натискання? Оберіть чи вилучіть потрібний варіант.
РозкладкаЦифрове введення або діяВи можете призначити цьому активатору одну чи кілька дій, котрі можуть бути діями клавіатури, миші, ґеймпада чи однією із системних дій.
ПеремиканняУвімк., вимк.У цьому режимі активатор буде діяти після завершення натискання кнопки й до її повторного натискання.
Затримка активації на початку натискання0,0–1,0Активатор не оброблятиме вказаний час після натискання кнопки. Ця затримка зсуне всю тривалість утримування кнопки. Відповідно, якщо не встановлено затримку завершення, то тривалість натискання не зміниться, воно просто буде відкладено.
Затримка деактивації після натискання0,0–1,0Після відпускання кнопки протягом цього проміжку часу активатор очікуватиме, лише після цього відбудеться деактивація. Кінцева затримка може зробити кнопку активною на довше, ніж вона була фізично натиснута.
Інтенсивність вібровідкликуНемає, низька, середня, високаВизначає силу вібровідкликів при активації та деактивації активатора.
Циклічне призначенняУвімк., вимк.Циклічні призначення змусять активатор щоразу при активації циклічно перемикатися між його призначеннями. Порядок призначень визначається за порядком їхнього вибору у процесі призначення кнопок.

Ось описи різних типів активації:

Тип активаціїОпис
Звичайне натисканняАктиватор звичайного натискання — це стандартний тип. Коли ви натискаєте кнопку, то вона активується й лишається такою, допоки ви її не відпустите.
Подвійне натисканняАктиватор подвійного натискання вимагає швидкого подвійного натискання на пристрої введення для активації. Під час утримування другого натискання він лишатиметься натисненим. Будь-які переривні активатори на цій самій кнопці не спрацюють, якщо спрацює подвійне натискання, а також будуть призупинені, доки не мине час подвійного натискання.
Довге натисканняАктиватор довгого натискання для активації вимагає, щоби кнопка була натиснена протягом певного періоду часу. Коли час довгого натискання мине, активатор залишатиметься задіяним до відпускання кнопки. Під час спрацювання довгого натискання, будь-які переривні активатори на тій самій кнопці не спрацюють, а ті, що задіяні, будуть призупинені на час довгого натискання до відпускання кнопки.
Початок натисканняАктиватор початку натискання активується, коли кнопка натискається. Він одразу деактивується, навіть якщо кнопка продовжується утримуватися. Це корисно, особливо у випадку використання разом з активатором кінця натискання, для зміни перемикання на утримування, наприклад, для перемикання скрадання.
Кінець натисканняАктиватор кінця натискання активується й деактивується, коли кнопка відпускається.
Акордне натисканняСхоже на звичайне натискання, але додатково слід утримувати певну кнопку одночасно з натисканням введення звичайної активації. Інші призначення для акордної кнопки продовжуватимуть спрацьовувати.
Немає — вилучити активаторЦей варіант вилучить активатор та всі призначення, які він містить.

Ці налаштування стосуються лише деяких типів активації:

НазваЗначенняТип активаціїОпис
ПереривністьВимк., увімк.Звичайне натискання, кінець натисканняПереривні активатори можуть бути призупинені або зупинені іншими активаторами. Наприклад, активатор довгого натискання може перервати активатор повного натискання, тому повне натискання спрацює лише в тому випадку, коли не спрацює довге натискання. Якщо активатор непереривний, то він ігнорує всі інші активатори.
Час подвійного натискання0,0–1,0Подвійне натисканняВизначає, як швидко ви повинні зробити подвійне натискання, щоби спрацював активатор. Будь-які переривні активатори на цьому вводі не діятимуть, допоки не мине зазначений час.
Час довгого натискання0,0–1,0Довге натисканняВизначає, як довго ви повинні утримувати кнопку, щоби спрацював активатор. Будь-які переривні активатори на цьому вводі не діятимуть, допоки не мине зазначений час, а якщо буде активоване довге натискання, то вони не діятимуть взагалі.
Утримання для повтору (Турбо)Увімк., вимк.Звичайне натискання, подвійне натискання, довге натисканняТурбо змусить цей активатор активуватися й деактивуватися дуже швидко під час утримування. Можна використовувати разом із циклічними призначеннями.
Частота повтору0,0–1,0Звичайне натискання, подвійне натискання, довге натисканняШвидкість турбо встановлюється цим повзунком.