Функція ослаблення дозволяє інтерполювати значення від одного значення до іншого протягом заданого інтервалу, використовуючи щось, що називається "функцією ослаблення". Це функції, призначені приймати значення і в будь-якій заданій точці інтервалу виводити значення в певний момент часу.
Це найкраще пояснити, поглянувши на фрагмент коду:
// simple linear tweening - no easing, no acceleration
Math.linearTween = function (t, b, c, d) {
return c*t/d + b;
};
@t - поточний час (або положення) твін. Це можуть бути секунди або кадри, кроки, секунди, мс, що завгодно - доки одиниця буде такою ж, як і використовується для загального часу
@b - початкове значення властивості.
@c - це зміна між початковою та цільовою цінністю властивості.
@d - загальний час твін.
Дякуємо, http://upshots.org/actioncript/jsas-understanding-easing
Це визначення функції лінійного послаблення. Графікуючи це у часі через «t», ми отримуємо простий лінійний графік.
Гаразд, круто. Для чого ми можемо їх використовувати?
Кожен раз, коли ви маєте на увазі початок і фініш і хочете їх оживити, ви можете використовувати функцію "твінь" або "полегшення".
Наприклад, ось GIF, який я щойно взяв з сердитих птахів:
Зауважте, що меню ковзає до точки на екрані, але воно повільно зупиняється? Це пов’язано з полегшувальною функцією, яка полегшує своє місце. Ви можете бачити їх у всьому Інтернеті. Якби це була лінійна легкість, вона була б однаковою в усьому.
Музика?
Звичайно! Якщо ми візьмемо значення нашого поточного значення саундтреку та інтерполюємо його між цим та 0 на загальну t скажімо 1 секунду, то наш гучність буде повільно згасати протягом однієї секунди.
Обмежуючі об'єкти
Є також функції, які дозволяють підстрибувати (див. Http://easings.net/#easeOutBounce ), які можуть справляти подібні ефекти на спрайті без будь-яких фізичних систем:
Ви можете знайти додаткову інформацію в Інтернеті, шукаючи тюнінг.