Там настільки, що можна досягти цілі в браузері за допомогою CSS3 або веб-анімації API, в JavaScript. Прості анімації та переходи добре підходять для CSS3 - тоді як більш складна анімація повинна бути виконана за допомогою JavaScript. (Якщо ви створюєте сайт без коду, вам потрібно Веб-будівельник .)
Проблема з веб-анімацією API - підтримка браузера та поточний набір функцій. Будучи досить молодою специфікацією, це покращиться в найближчі роки.
Для того, щоб боротися з цією функцією та дефіцитом підтримки браузера, ми можемо звернутися до бібліотек анімації, наприклад Зеленню (GSAP). GSAP дає нам можливість створювати складні анімації та декілька термінів, з можливістю анімації майже будь-якого елемента або пари властивостей / значення - все досягнуто за допомогою простого та інтуїтивно зрозумілого синтаксису.
У цьому підручнику ми збираємося використовувати бібліотеку GSAP, щоб створити кілька анімацій. Основна та найбільш складна анімація ми будемо створювати, буде перенесення сцени з дня до ночі, і ми побачимо, наскільки легко ми можемо з'єднати декілька переходів для створення складних анімацій. Ми також будемо створювати кілька простих анімацій, які будуть постійно працювати.
Якщо ви хочете отримати додаткові параметри для вашого анімаційного проекту, перегляньте нашу компіляцію Найкраще безкоштовне програмне забезпечення графічного дизайну . Додавання анімації до складного веб-сайту? Вам знадобиться підтримка веб хостинг Сервіс.
Завантажте файли Для цього підручника.
Почати, нам потрібно вилучити Грейнське перо Для того, щоб випробувати свої плагіни Premium. Для підручника ми будемо використовувати SVG, який вже був оптимізований та вставлений у наш редактор HTML. Однак, якщо ви використовуєте свій власний SVG, вам потрібно буде переконатися, що всі елементи мають унікальні ідентифікатори.
GSAP пропонує два типи часових шкалу: часові та тимчасові. Версія Timelinemax пропонує доступ до додаткових функцій, таких як можливість повторення анімації, а також грати їх у зворотному напрямку. Наша перша часова шкала буде водою, яку ми повторимо нескінченно і йойо вперед і назад.
var animation_water = Нова часова ({{
Повторіть: -1,
yoyo: Правда
});
Для того, щоб анімувати воду, у нас є інший шлях у нашому СВГ, прихований з "0" непрозорість. Ми використаємо морфсвг плагін, щоб перетворити наш оригінальний шлях до нового шляху води. Ми переміщуємо водяний елемент "12px" на осі Y. Два числа в кінці майна представляють затримку та час початку відповідно.
Анімація_водя
.по ("# вода", 2, {
Y: 12,
Morphsvg: "# water-2",
Легкість: лінійний .Easenone
}, 0, 0)
Оскільки ми будемо повторно повторювати низку властивостей та значень кілька разів, коли ми будемо створювати змінні для цих властивостей.
var animation_ase = лінійний. Easenone;
Бібліотека GSAP пропонує нам можливість отримати ряд властивостей з будь-якої даної часової шкали. Ми можемо ввійти в консоль, щоб переконатися, що все працює, як ми очікуємо.
Console.Log (
"Анімація_водяна тривалість:"
+ animation_water.divery ()
.tofixed (2)
)
Для кожного елемента, який ми хочемо анімувати окремо і постійно, нам потрібно створити нову часову шкалу. Ми також хочемо ввійти, що часові шкали в консолі, як ми йдемо.
var animation_cloud = Новий часник ({{
Повторіть: -1,
yoyo: Правда
});
console.log ('\ n' +
...
animation_cloud.duration (). tofixed (2) + '\ n'
)
Тепер, коли у нас є наша хронологія готова, ми можемо створити нашу хмарну анімацію. Розділ анімації, який приймає нові властивості, може обробляти декілька параметрів / цінних пар, розділених за допомогою комами.
Наша анімація хмари повинна бути витонченою, тому нам потрібно лише змінити значення невеликою кількістю.
Анімація_Cloud
.по ("# хмара", 3, {X: -2, Y: 1, шкала: 0.95, обертання: 1, легкість: анімація_аз}, 0, 0)
Далі ми почнемо створювати анімацію наших днів до нічної. Ми створимо змінну для часу циклу та дня. Налаштування "Yoyo" в GSAP також дозволяє нам затримати анімацію перед повторним.
var day_night_cycle_time = 15;
var animation_delay = day_night_cycle_time / 2;
var animation_tonight = Нова часова ({
Повторіть: -1,
yoyo: правда,
RepeadDelay: Animation_Delay
});
Всередині нашого SVG у нас є накладений шар, виготовлений з прямокутника, що покриває весь зображення з тим же градієнтом фону, як наш нічний фон. Накладання застосовує режим "множення", щоб потемніти весь образ. Наша анімація просто переходить до непрозорості цього елемента.
Animation_tonight
.по ('# нічний-накладання',
day_night_cycle_time, {
непрозорість: 1,
Легкість: анімація_аз
}
, 0, 0)
GSAP пропонує інші твіни на вершині загального "до" та "від типів". Тип Tween, який нам потрібно, щоб анімувати наш градієнт - це "Стаггерто" Твін. Ми також можемо використовувати властивість "циклу", щоб повернути кольорове колесо навколо наших нових значень.
.StagGerto ("# денна-градієнтна зупинка",
day_night_cycle_time, {
Цикл: {
зупинка: ['# 060414', '# 416584']
},
Легкість: анімація_аз,
}, 0, 0)
Ми можемо додавати анімації до нашої анімації "Tonight". Цього разу ми додамо нове "до" tween, щоб встановити наше сонце. Ми встановимо час відображення, щоб бути часткою часу циклу, щоб анімувати сонце до Місяця. GSAP дозволяє нам встановити майже будь-який атрибут. Ми будемо використовувати це, щоб анімувати властивості "CX" та "Cy" нижче пагорба справа.
.to ('# sun', day_night_cycle_time / 1.25, {
Шкала: 0.9,
attr: {cx: "753", cy: "697"},
Легкість: animation_ase}
, 0, 0)
Ми будемо використовувати ту ж техніку, яку ми звикли, щоб анімувати сонце з виду (див. Крок 11 вище), щоб анімувати Місяць на поле. Ми могли б досягти цього, використовуючи один твін, звичайно, але для того, щоб створити штучну дугу, ми зробимо це у двох частинах. В обох частинах ми також застосуємо нове значення до масштабу масштабу.
.to ('# moon', day_night_cycle_time / 2, {
Шкала: 0.9,
attr: {cx: "174.5", CY: "202.5"},
Легкість: animation_ase}
, 0, 0)
Друга частина анімації Місяця чекає першого розділу, перш ніж він починається. ПРИМІТКА. Ці дві частини анімації Місяця зараховані всередині анімаційного коду разом з іншими доночними властивостями, які ми використовуємо.
Animation_tonight
...
.to ('# moon', day_night_cycle_time / 2, {
Шкала: 0.9,
attr: {cx: "410.5", CY: "114.5"},
Легкість: animation_ase}
, day_night_cycle_time / 2, 0)
Єдина частина зліва від нашого дня до нічної анімації - це зірки. Ми зможемо видавати зірки, перейшовши кілька властивостей. Перша з них - просто привести їх до уваги, анімація їх непрозорості.
.по ("# зірки", day_night_cycle_time / 2,
{непрозорість: 1},
Day_night_cycle_time / 2,
0)
Далі ми використаємо "від" Tween, щоб перемістити зірки і обертати їх від негативного кута, коли вони живуть у перегляді. Ми використовуємо якусь просту математику, щоб розрахувати наш час і затримку анімації, все залежить від змінної нашого "Day_night_cycle_time".
. З ("# зірки",
day_night_cycle_time - (day_night_cycle_time / 4),
{Y: 150, обертання: -15, легкість: анімація_аз},
Day_night_cycle_time / 4,
0)
Тепер ми створили анімацію нашого дня до нічної, ми можемо створити іншу постійну анімацію, щоб зробити наші зірки. Ми створимо нову часову шкалу, а потім увійдемо до тривалості часової шкали в консолі.
var animation_stars = Новий часник ({{{
Повторіть: -1,
yoyo: Правда
});
Тепер ми створили графік, готовий до анімації, нам потрібно створити нашу блимаючу анімацію. Анімація дійсно проста - все, що ми хочемо зробити, це зменшити вартість непрозорості. Завдяки властивості "Yoyo", непрозорість буде анімація і вимикається, і тому зробить зірки виглядати, як вони блимають.
animation_stars
.по ("# зірки", 0,5,
{непрозорість: 0,5, легкість: анімація_аз}
, 0, 0)
На останньому кроці ми орієнтуємо групу зірок, щоб застосувати нашу блимаючу анімацію, однак вона виглядала набагато краще, якщо зірки повинні блимати в той же час, а не разом у той же час. Ми досягаємо цього, орієнтуючись на кожну зірку окремо та застосовуючи іншу анімацію.
animation_stars
...
.по ("# Star-Two", 0.5,
{непрозорість: 0,5, легкість: анімація_аз}
, 1,25, 0)
.по ("# зірка-три", 0,5,
{непрозорість: 0,5, легкість: анімація_аз}
, .75, 0)
...;
Це воно! Анімація нашого дня до ночі закінчується, і вона виглядає чудово, але ми не повинні зупинятися там. Оскільки зображення знаходиться в SVG, ми можемо легко додати нові елементи до нашого ландшафту. Давайте додати сніг. Ми зробимо це за допомогою двох окремих шарів. Кожен шар має достатньо велику колекцію еліпсів, щоб покрити пейзаж, а потім таку ж колекцію повторюється вище.
& lt; g id = "сніговий шар" ... & gt;
...
& lt; еліпс ... / & gt;
& lt; / g & gt;
& lt; g id = "сніговий шар" ... & gt;
...
& lt; еліпс ... / & gt;
& lt; / g & gt;
Ми створюємо два окремих термінів для нашого снігу, щоб мати можливість анімувати їх над різними тривалість. Ми також зареєструємо їхні тривалість до консолі.
Var Animation_SnowTop = Нова часова ({
Повторіть: -1,
RepeadDelay: 0
});
var animation_snowbottom = новий часник ({{
Повторіть: -1,
RepeadDelay: 0
});
Для того, щоб анімувати наші снігові шари, ми хочемо перемістити два шари вздовж вертикальної осі. Різнюючи свої тривоги, ми отримаємо вигляд шарів, що рухаються з різними швидкостями. Анімація працює, переміщаючи колекцію еліпсів по вертикальній осі, поки друга колекція не буде на місці першого. Потім ми повторіть анімацію.
Анімація_Snow
.по ("# сніговий шар", 7,
{attr: {Перетворення: "Переклад (24 -108)"}
, легкість: анімація_аз}
, 0, 0)
Знайдіть повну колекцію підручників тут . Потрібно десь безпека для зберігання ваших файлів? Перегляньте наш гід хмара зберігання .
Ця стаття була опублікована в журналі Creative Web Design Web Designer. Підписатися на веб-дизайнер тут .
Пов'язані статті:
Навчитися використовувати контрастність у мистецтві, перетворить ваші проекти та спосіб роботи. Мій ул�..
(Кредит зображення: веб-дизайнер) Маючи область, яка дозволяє ко�..
Adobe Dimension робить це вітром, щоб створити складні сцени (Кредит зобра..
За допомогою Пастельні праймери Для створення поверхонь для в..
Негативна картина відноситься до фарбування негативний простір що визначає позитивні форми. Це..
Наш готовий портрет кішки Живопис домашніх тварин і мал..
Adobe запускає нову серію відео підручників, що називається зараз, що має на меті окреслити, як створювати �..
3D-друк став надзвичайно популярним. Якщо ви хочете почати друкувати свій 3D-арт , Є кілька речей, щ..